讓我們假設我有這個Ember.ArrayController:EmberJS自定義文本框查看與ID後綴
App.ItemsArrayController = Ember.ArrayController.extend({
//some additional functions
}).create()
該陣列控制器持有對象:
App.Item = Ember.Object.extend({
id: 0, //after item is loaded this id contains real id of item
value: "some value"
})
在車把模板我有:
{{#each item in App.ItemsArrayController}}
<input id="item" valueBinding="item.value" />
{{/each}}
您可以看到,根據控制器中的項目數生成了x次輸入。與此相關的問題是所有這些輸入具有相同的「項目」ID。我不能使用類似:因爲手柄{{}}包值轉換成燼的Metamorph腳本包裝
<input id="item-{{item.id}}" valueBinding="item.value" />
和處理{{{}}}的工作方式相同。
我想要做的是自定義視圖,我可以用這樣的:
{{view App.TextFieldWithIdSuffix id="item-" idSuffixBinding="item.id" valueBinding="item.value"}}
,它應該被渲染爲:
<input type="text" id="item-0" value="some text" />
我的觀點App.TextFieldWithIdSuffix被定義爲:
App.TextFieldWithIdSuffix = Ember.View.extend({
tagName: "input"
});
如何定義App.TextFieldWithIdSuffix視圖以支持xxxBindings屬性以及何時呈現id是否被後綴改變?
你有沒有考慮/嘗試無論是在控制器或定製車把助手將你的ID轉換成所需的語法寫一個函數?然後你可以將你的輸入定義爲:'' – gravityplanx
@gravityplanx看起來很有趣。你能指點我一些網站或提供這樣的功能的例子嗎? – petriq
我會爲我提供的代碼提供答案。 – gravityplanx