这是漫长的一天,这可能非常简单,但是如何向 Ember.TextField 添加名称属性?
我想做这样的事情:
{view Ember.TextField valueBinding="your_name" placeholder="Your name" name="your_name"}}
这适用于占位符,但忽略名称。
有任何想法吗 ??
谢谢
瑞克
name属性默认不绑定,see https://github.com/emberjs/ember.js/blob/master/packages/ember-handlebars/lib/controls/text_field.js#L23
作为解决方法,您可以创建自己的TextField
, see http://jsfiddle.net/fkPzr/ http://jsfiddle.net/fkPzr/
App.TextField = Ember.TextField.extend({
init: function() {
this._super();
// get attributeBindings and add 'name'
var attributeBindings = this.get('attributeBindings');
attributeBindings.pushObject('name');
this.set('attributeBindings', attributeBindings);
}
});
UPDATE:
Since attributeBindings
被声明为串联属性 https://github.com/emberjs/ember.js/blob/master/packages/ember-views/lib/views/view.js#L59* TextField 可以简化,参见http://jsfiddle.net/cRhcg/ http://jsfiddle.net/cRhcg/:
App.TextField = Ember.TextField.extend({
attributeBindings: ['name']
});
*串联属性不会覆盖扩展对象的属性,但超级对象中的现有值会被串联。说得通?这是一个example http://jsfiddle.net/pangratz666/zwfH4/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)