Javascript 设置Ember.textfield的ID
我面临在Ember.Textfield中设置id的问题。我们有一个从Em.Object扩展而来的模型类 我试图通过控制器在HBS(车把)中访问它,就像在Ember文本字段中的Javascript 设置Ember.textfield的ID,javascript,ember.js,Javascript,Ember.js,我面临在Ember.Textfield中设置id的问题。我们有一个从Em.Object扩展而来的模型类 我试图通过控制器在HBS(车把)中访问它,就像在Ember文本字段中的ViewData.id.id1。但是模型没有设置id {{view Ember.TextField valueBinding="value" id=ViewData.id.id1}} 我正在使用以下用于余烬和把手的库: (handlebars-1.0.0-rc.3.js) (ember-v1.0.0-rc.1.min
ViewData.id.id1
。但是模型没有设置id
{{view Ember.TextField valueBinding="value" id=ViewData.id.id1}}
我正在使用以下用于余烬和把手的库:
(handlebars-1.0.0-rc.3.js)
(ember-v1.0.0-rc.1.min.js)
我们有这样的代码:
Em.ObjectController.extend({
ViewData : data.create()
});
var data = Em.Object.extend({
id: {
id1: "textId1",
},
});
还有其他人面临过这个问题吗?请帮忙。提前感谢。您可以使用
elementId
属性设置视图的id
属性:
{{view Ember.TextField elementId="foobar"}}
不幸的是,这不能是计算属性或绑定。以下操作不起作用:
{{view Ember.TextField elementIdBinding="id.id1"}}
这也不会:
var TextFieldWithID = Ember.TextField.extend({
elementId: function() {
return this.get('controller.id.id1');
}.property('controller.id.id1')
});
{{view TextFieldWithID}}
问题是,在创建元素时,Ember需要一个唯一、稳定的ID,以便可以设置绑定。通过将
elementId
属性设置为绑定或计算属性,可以说它可以更改。然后,Ember将忽略该属性并生成自己的唯一ID。elementIdBinding可以工作
我们需要用如下属性索引重新打开Ember.TextField
Ember.TextField.reopen({
attributeBindings:['elementId']
});
hbs将具有以下代码
{{view Ember.TextField valueBinding=“data”elementIdBinding=“ViewData.id.id1”}
它有效
干杯 你试过用引号写吗?id=“ViewData.id.id1”如果这不能解决问题,我想您必须使用绑定->id=“ViewData.id.id1”