Я пытаюсь получить эффект переключения в Emberjs для некоторых динамически загружаемых данных. Вот мой адаптер:изменение значения свойства модели emberjs
export default Ember.Object.extend({
findAll: function(){
return ajax('http://localhost:8000/api/v1/address-book/companies?includes=details')
.then(function(response){
return response.data.map(function(c){
return {
name: c.name,
website: c.details.data.website_url,
dev_website: c.details.data.development_website_url,
showDetails: false
};
});
});
}
});
Вот это HTML рули:
{{#each m in model}}
<tr>
<td >
<p style="cursor:pointer; color:#009688" {{ action 'displayDetails' m}}>{{m.name}}</p>
{{#if m.showDetails}}
<div class="">
<p><strong>Wesbite URL: </strong><a href="{{m.website}}">{{m.website}}</a></p>
<p><strong>Development Wesbite URL: </strong><a href="{{m.dev_website}}">{{m.dev_website}}</a></p>
</div>
{{/if}}
</td>
</tr>
{{/each}}
и вот контроллер:
export default Ember.ArrayController.extend({
searchText: null,
actions: {
displayDetails: function(item){
item.toggleProperty('showDetails')
}
}
});
Я также попытался это в моем контроллере:
export default Ember.ArrayController.extend({
searchText: null,
actions: {
displayDetails: function(item){
item.showDetails = true;
}
}
});
Который дает мне ошибку I необходимо использовать Ember.set изменить значение свойства шоу, то я сделал это:
export default Ember.ArrayController.extend({
searchText: null,
actions: {
displayDetails: function(item){
item.set('showDetails', true);
}
}
});
, но это дает мне ошибку item.set
не является функцией
Теперь я пытаюсь переключить модели ShowDetails свойство от true до false каждый раз, когда нажимается название компании (p tag). Я знаю, что я работал с свойствами самого контроллера, но как я могу достичь этого в моем объекте модели?
я не имел. Спасибо, сэр! – ThreeAccents