使商店应用程序范围内的数据可用?
Make data from store app-wide available?
我有一个 base
路由封装了我应用程序中的所有其他路由。
我想让我通过 this.store.find('category')
从商店检索的类别在我的应用程序中随处可用。
我尝试使用以下代码在基本控制器中检索它:
import Ember from 'ember';
export default Ember.ArrayController.extend({
// retrieve all categories as they are needed in several places
categories: function() {
return this.get('store').find('category');
}
});
并通过以下方式从子控制器创建别名:
categories: Ember.computed.alias('controllers.base.categories')
但它给出了这个错误信息:
Uncaught Error: Assertion Failed: The value that #each loops over must be an Array. You passed function () {
return this.get('store').find('category');
}
我该如何解决我的问题?
将其设为计算值 属性。
categories: function() {
return this.get('store').find('category');
}.property()
控制器在 2.0 中被弃用,所以我会考虑使用服务架构而不是基本控制器架构。
我有一个 base
路由封装了我应用程序中的所有其他路由。
我想让我通过 this.store.find('category')
从商店检索的类别在我的应用程序中随处可用。
我尝试使用以下代码在基本控制器中检索它:
import Ember from 'ember';
export default Ember.ArrayController.extend({
// retrieve all categories as they are needed in several places
categories: function() {
return this.get('store').find('category');
}
});
并通过以下方式从子控制器创建别名:
categories: Ember.computed.alias('controllers.base.categories')
但它给出了这个错误信息:
Uncaught Error: Assertion Failed: The value that #each loops over must be an Array. You passed function () { return this.get('store').find('category'); }
我该如何解决我的问题?
将其设为计算值 属性。
categories: function() {
return this.get('store').find('category');
}.property()
控制器在 2.0 中被弃用,所以我会考虑使用服务架构而不是基本控制器架构。