将名称属性添加到Ember.TextField?

Ric*_*oss 3 javascript ember.js

这是一个漫长的一天,这可能是非常简单,但我如何添加名称属性到Ember.TextField?

我想做这样的事情:

{view Ember.TextField valueBinding="your_name" placeholder="Your name" name="your_name"}}
Run Code Online (Sandbox Code Playgroud)

这适用于占位符但忽略名称.

有任何想法吗 ??

谢谢里克

pan*_*atz 8

默认情况下,name属性不受约束,请参阅

作为一种解决方法,您可以创建自己的TextField,请参阅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);
    }
});
Run Code Online (Sandbox Code Playgroud)

更新:

由于attributeBindings声明为连接属性*TextField可以简化,请参阅http://jsfiddle.net/cRhcg/:

App.TextField = Ember.TextField.extend({
    attributeBindings: ['name']
});
Run Code Online (Sandbox Code Playgroud)

*连接属性不会覆盖扩展对象的属性,但会连接超级对象的现有值.说得通?这是一个例子