它是一個漫長的一天,這可能非常簡單,但我如何添加一個名稱屬性到Ember.TextField?將名稱屬性添加到Ember.TextField?
我想要做這樣的事情:
{view Ember.TextField valueBinding="your_name" placeholder="Your name" name="your_name"}}
這適用於佔位符,但忽略了名。
任何想法??
感謝 裏克
它是一個漫長的一天,這可能非常簡單,但我如何添加一個名稱屬性到Ember.TextField?將名稱屬性添加到Ember.TextField?
我想要做這樣的事情:
{view Ember.TextField valueBinding="your_name" placeholder="Your name" name="your_name"}}
這適用於佔位符,但忽略了名。
任何想法??
感謝 裏克
name屬性默認情況下不限制,see
作爲一種變通方法,您可以創建自己的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);
}
});
UPDATE:
由於attributeBindings
被聲明爲concatenated property * TextField的可以被簡化,參見http://jsfiddle.net/cRhcg/:
App.TextField = Ember.TextField.extend({
attributeBindings: ['name']
});
*級聯屬性不覆蓋延長的對象的屬性,但是從超對象的現有值被級聯。說得通?這是一個example
它不起作用,因爲Ember.TextField不公開此屬性綁定。
從Ember.TextField
attributeBindings: ['type', 'value', 'size'],
加上從混入的那些:
attributeBindings: ['placeholder', 'disabled', 'maxlength'],
要綁定的name屬性,創建自己的子類,增加了 '名' 的屬性綁定
對不起,@ pangratz更快:) – 2012-03-27 17:56:32
如果你簡單地想要指定一個名稱屬性的選項,你可以使用attributeBindings來完成。
{view Ember.TextField valueBinding="your_name" placeholder="Your name" attributeBindings="name" name="your_name"}}
不允許通過Handlebars設置'attributeBindings',請參閱https://github.com/emberjs/ember.js/blob/c524f3e91/d3c3dfa0b9a95d0c8fbf4dc199b4ac3/packages/ember-handlebars/lib/helpers /view.js#L44-48 – pangratz 2012-03-28 09:25:22
這將解決您的問題。 但是,我建議不要這樣做。 ember背後的想法是將諸如此類的信息保存在DOM之外。
Ember.TextField.reopen({
attributeBindings: ['name']
});
非常感謝pangratz。 Surley這應該是默認的,因爲你需要名稱進行測試? – 2012-03-28 09:06:02
謝謝pangratz!我有同樣的問題! +1 – Dragan 2014-02-12 12:49:45