我正在使用ember-cli和ember-data。
我有一个Product
,它可以具有许多ProductStatuses
。我的状态是静态的,因此我可以将它们包括在应用本身中。将DS.hasMany
用于这种属性是个好主意吗?
如果是的,您能告诉我一个示例,说明如何告诉Ember从同步操作中排除子模型ProductStatus
,以及如何在本地存储它的预定义值?使用DS.Store.push
也许?
我认为这不是一个好主意。为什么?正如您所说,您必须从任何同步操作中排除此模型,这意味着最终将成为一个简单的数组。我认为更好的解决方案是在应用程序配置中在全球定义它们,例如在config/environment.js
中,这样:
module.exports = function(environment) {
var ENV = {
(...)
appConfig: {
productStatuses: ["status one", "status two"]
}
};
(...)
}
然后在您的应用中需要的地方您可以导入ENV
模块并根据需要使用它(import ENV from "appName/config/environment";
)。