3

为 Ember 应用程序工具包中的属性绑定传递的资源的正确字符串表示形式是什么?

我已经尝试了以下两种方法:

import Dependency from 'app/utils/utility';
export default Em.ObjectController.extend({
  sampleBinding: 'Dependency.value'
});

export default Em.ObjectController.extend({
  sampleBinding: 'utils:utility.value'
});

但是绑定在这两种情况下都不起作用。

任何帮助表示赞赏。

谢谢!

4

1 回答 1

1

我自己一直在研究这个并遇到了一些事情。

似乎不赞成以这种方式进行绑定,而倾向于使用计算属性或别名。查看对这个 SO 问题答案的评论: Ember.computed.alias 和 Ember.binding 有什么区别?

或者更具体地说,关于这个 github 问题的评论:https ://github.com/emberjs/ember.js/issues/1164#issuecomment-23200023 )。

部分原因似乎是对使用全局/绝对路径的厌恶。此外,您可能不想绑定到类定义,而是绑定到类的实际实例。我不太确定你的实用程序类是什么,但如果它是一个控制器,这个想法会是这样的:

export default Em.ObjectController.extend({
  needs: ['utility'],
  aliasedVariable: Ember.computed.alias('controllers.utility.variableOnUtility')
});

查看这个 SO 问题的答案:Ember.js: data-binding between controllers

还有 ember 指南的这一部分:http: //emberjs.com/guides/controllers/dependencies-between-controllers/

于 2014-02-26T21:43:19.497 回答