向 Ember.TextField 添加名称属性?

2024-02-29

这是漫长的一天,这可能非常简单,但是如何向 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(使用前将#替换为@)

向 Ember.TextField 添加名称属性? 的相关文章