use*_*506 1 ember.js ember.js-view
我想将TextField绑定到由字符串变量指定的属性(请参阅编辑以获得更好的解释),如此问题.不幸的是,那里给出的答案不再适用.他们在那里使用以下视图:
App.AutoTextField = Ember.ContainerView.extend({
type: null,
name: null,
init: function() {
this._super();
this.createChildView();
},
createChildView: function() {
this.set('currentView', Ember.TextField.create({
valueBinding: 'controller.' + this.get('name'),
type: this.get('type')
}));
}.observes('name', 'type')
});
Run Code Online (Sandbox Code Playgroud)
到目前为止我能得到的最好的就是用valueBinding路径取而代之_parentView.context..如果我这样做,文本字段将被呈现,并且它们包含正确的值.如果我编辑它们,应用程序的其余部分不会更新.
你如何在当前版本的Ember中解决这个问题?
编辑:
在链接的问题中给出了我想要做的更好的解释.我在当前上下文中有一个对象(比如说object)和一个字符串(key).我想要一个可以显示和呈现值的文本字段object[key].
经过多次尝试失败后,我发现了一个非常简单的解
添加帮助器
Ember.Handlebars.helper('dataTextField', function (data, key, options) {
options.hash.valueBinding = 'data.' + key;
return Ember.Handlebars.helpers.input.apply(this, [options]);
});
Run Code Online (Sandbox Code Playgroud)
然后打电话
{{dataTextField data key}}
Run Code Online (Sandbox Code Playgroud)
这将呈现一个显示和更改其值的文本字段,data[key]它甚至支持普通input帮助程序可以理解的所有可选参数.
| 归档时间: |
|
| 查看次数: |
1997 次 |
| 最近记录: |