我一直在我的代码中使用一些 Ember 对象,例如“App.SelectedBlock”来访问列表中的选定项目(这是我多年前使用 Sproutcore 时开始的一种做法),现在它看起来像是从 Handlebars 绑定(bind)到这些对象模板将被弃用,我不知道如何解决这个问题。我正在运行 Ember 1.8.1,现在它仍然可以工作,但我会得到“弃用:不推荐使用 Handlebars 模板中的 App.SelectedBlock 全局查找”。我很确定它在 1.9.0 中完全删除了。我不知道如何在不必完全重组我的代码的情况下解决这个问题。有什么建议么?

最佳答案

我猜你正在做这样的事情:

{{App.SelectedBlock.id}}

您不应在 Handlebars 模板中调用全局变量。这是一个不好的做法。但是你可以这样做:
// in your template controller
selectedBlock: function(){
  return Ember.get('App.SelectedBlock');
}.property('App.SelectedBlock')

在 hbs 模板中:
{{selectedBlock.id}}

关于ember.js - 不再能够绑定(bind)到 Ember 中的全局数据结构?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27514675/

10-11 23:44