У меня есть представление Users_Index, где я обрабатываю всех пользователей. Для каждого пользователя я хочу показать вычисленное свойство. Я делаю это в соответствующем ItemController. Код:Доля вычисленного кода свойства
// app/controllers/users/index.js
import Ember from 'ember';
export default Ember.ArrayController.extend({
itemController: 'user'
});
// app/controllers/user.js
import Ember from 'ember';
export default Ember.ObjectController.extend({
myComputedProperty: function(){
// just example nonsense here
return this.get('name') + ' and ' + this.get('id');
}.property('name', 'id')
});
// app/templates/users/index.hbs
<ul>
{{#each}}
<li>
{{myComputedProperty}}
</li>
{{/each}}
</ul>
Теперь у меня есть мнение User_Show и хочу использовать вычисляемое свойство там. Конечно, я не хочу повторять вычисленный код свойства в users/show controller
. Может ли кто-нибудь дать мне подсказку, что в Эмбере правильный способ поделиться кодом? Смесь? Компонент? Добавить функцию в пользовательскую модель (что звучит совершенно неправильно)?
На ваш взгляд, что является самым чистым способом его реализации? Mixin или добавить его в модель? –
Если вам понадобится только одна модель, то модель, вероятно, будет проще. Если вам нужно это на нескольких контроллерах после этого, то, возможно, mixin. – NicholasJohn16