это, вероятно, очень простой вопрос, чтобы ответить, поэтому я извиняюсь, если я захламляю этот форум заранее.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