Ember.js Ember V1.0.0-pre.2:把手模板中的大写字母

Ember.js Ember V1.0.0-pre.2:把手模板中的大写字母,ember.js,Ember.js,我们使用的是Ember V1.0.0-pre.2,我们的把手如下所示: {{#each data.Product}} <div> {{Details.uid}} - {{Details.Name}} </div> {{/each}} 此操作失败,并发出以下警告: WARNING: Watching an undefined global, Ember expects watched globals to be setup by the time the run lo

我们使用的是Ember V1.0.0-pre.2,我们的把手如下所示:

{{#each data.Product}}
<div>
  {{Details.uid}} - {{Details.Name}}
</div>
{{/each}}
此操作失败,并发出以下警告:

WARNING: Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos 
当我将
Details.which
更改为
Details.which
时,警告消失


这是故意的,还是我们可以绕开它?数据以固定格式从服务器返回,如果可以避免的话,我们不想使用其他临时模型。

Ember有一个命名策略,“实例/属性”总是以小写字母开头,而“类”总是以大写字母开头。我认为这可能是您遇到一些问题的地方,如果可能的话,您应该将JSON反序列化为以小写字母开头的属性

从导轨中拉出的相关零件():

按照惯例,包含类的属性或变量是大写的,而实例则不是。例如,变量Person将包含一个类,而Person将包含一个实例(通常是Person类的实例)。在余烬应用程序中,您应该遵守这些命名约定


Ember有一个命名策略,“实例/属性”总是以小写字母开头,而“类”总是以大写字母开头。我认为这可能是您遇到一些问题的地方,如果可能的话,您应该将JSON反序列化为以小写字母开头的属性

从导轨中拉出的相关零件():

按照惯例,包含类的属性或变量是大写的,而实例则不是。例如,变量Person将包含一个类,而Person将包含一个实例(通常是Person类的实例)。在余烬应用程序中,您应该遵守这些命名约定


命名约定也适用于模型数据,但如果您无法更改API中的内容,则可以通过在每个属性的基础上定义映射来解决此问题,例如

App.Adapter.map('App.Product', {
  details: {key: 'Details'},
  name: {key: 'Name'},
  fooBar: {key: 'FOO_BaR'}
  ...
});
有关如何将json映射到模型的更多参考,请参见此处:


希望它有助于

命名约定也适用于模型数据,但如果您无法更改API中的内容,您可以通过在每个属性的基础上定义映射来解决此问题,例如

App.Adapter.map('App.Product', {
  details: {key: 'Details'},
  name: {key: 'Name'},
  fooBar: {key: 'FOO_BaR'}
  ...
});
有关如何将json映射到模型的更多参考,请参见此处:


希望有帮助

命名约定指南仅包含路由/控制器/视图/模板的默认推断信息。关于类/实例大小写的具体部分在对象模型区域下——我实际上知道:)——问题是这是一个模型。模型应该反映数据,而Ember的命名约定不应适用。如果它确实适用于数据,那么应该在某个地方说明,我们应该转换数据。我想人们不能总是控制从后端返回的内容并执行额外的工作,因为框架干扰数据有点麻烦。因此,我想问题很简单:命名约定是否适用于模型数据?命名约定指南仅包含路由/控制器/视图/模板的默认推断信息。关于类/实例大小写的具体部分在对象模型区域下——我实际上知道:)——问题是这是一个模型。模型应该反映数据,而Ember的命名约定不应适用。如果它确实适用于数据,那么应该在某个地方说明,我们应该转换数据。我想人们不能总是控制从后端返回的内容并执行额外的工作,因为框架干扰数据有点麻烦。所以我想问题很简单:命名约定是否适用于模型数据?在我们的例子中,我们不使用余烬数据。我们提供了一个简单的js对象作为数据。因此,如果它适用,我想我们将使用一个临时模型:(没有余烬数据,恐怕没有映射混合…:(你有没有想过更新ember版本?在你的案例中有太多的东西需要重写吗?我想你最好使用一个ember的实际版本。我们正在努力实现版本1,并开始研究RC3所涉及的工作。事情是我们的框架目前建立在pre2上,我们有一个大约150人的团队正在进行大规模的重写,它有一些严重的截止日期,这是不平凡的。其他scrum团队希望限制任何修复,因此升级本身将是一个项目,并且会有一些严重的冲刺:(在我们的例子中,我们没有使用余烬数据。我们提供了一个简单的js对象作为数据。因此,如果它适用,我想我们将使用一个临时模型:(没有余烬数据,恐怕没有映射混合…:(你有没有想过更新ember版本?在你的案例中有太多的东西需要重写吗?我想你最好使用一个ember的实际版本。我们正在努力实现版本1,并开始研究RC3所涉及的工作。事情是我们的框架目前建立在pre2上,我们有一个大约150人的团队正在进行大规模的重写,它有一些严重的截止日期,这是不平凡的。其他scrum团队希望限制任何修复,因此升级本身将是一个项目,并且会有一些严重的冲刺:(