在Ember中,将子模型用于静态选择值一个好主意



我正在使用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";)。

最新更新