我有一项服务,我使用Ember.inject
通过组件进行调用应用程序/通知/ service.js
import Ember from 'ember';
export default Ember.Service.extend({
store: Ember.inject.service('store'),
notifications: function() {
return this.get('store').findAll('notification');
},
});
然后我的app / components / app-notifications / component.js:
import Ember from 'ember';
export default Ember.Component.extend({
notifications: Ember.inject.service('notifications'),
});
然后我的组件模板位于/app/components/app-notifications/template.hbs
{{notifications}}
<ul>
{{#each notifications as |notification|}}
<li>{{notification.title}} <small>{{moment-from-now dateAdded}}</small> </li>
{{/each}}
</ul>
但是我无法通过模型显示数据?我似乎无法在文档中找到相关信息,所以我想知道是否有人知道如何做到这一点?
答案 0 :(得分:3)
是否有必要将notifications
作为服务实施?
执行此任务的常用方法是使用计算属性:
import Ember from 'ember';
export default Ember.Component.extend({
notifications: Ember.computed( function () {
return this.store.findAll('notification');
})
});
答案 1 :(得分:0)
好的,所以我使用了
import Ember from 'ember';
export default Ember.Service.extend({
store: Ember.inject.service('store'),
notifications: function() {
return this.get('store').findAll('notification');
}.property(),
});