這可能是一個非常簡單的問題,所以我很抱歉,如果我提前討論這個論壇。EmberJS:ArrayController中的屬性範圍?
我顯示共享相同的模型和控制器的項目清單。 我通過每個項目旁邊的<button {{ action 'edit' }}>
可以編輯這些項目,這些項目切換控制器中屬性「isEditable」的布爾值。 但是,單擊此按鈕將導致列表中的所有項目都可編輯,因爲它們全部共享控制器屬性「isEditable」。期望的效果是一次只能編輯一個項目,而不是一次編輯所有項目。
我的模板的一個簡化版本是這樣的:
{{#if isEditing}}
<p>{{input type="text" value=title}}</p>
<button {{action 'doneEditing'}}>Done</button>
{{else}}
<span class="title">{{title}}</span>
<button {{action 'edit'}}><span class="edit"</span></button>
{{/if}}
和控制器看起來像這樣
App.ItemController = Ember.ArrayController.extend({
isEditing : false,
actions : {
edit : function(){
this.set('isEditing', true);
},
doneEditing : function(){
this.set('isEditing', false);
},
}
});
任何人都知道如何做到這一點?是否因爲每個項目共享「isEditable」屬性?如果是這樣,我該如何解決這個問題?我不想把它放到模型中,因爲它純粹是一種展示的東西,即使我知道我可以做到這一點。
謝謝:)
繁榮。謝謝你如此簡潔地回答我的問題。巨大的幫助。巨大的成功! – DeliciousMe