2014-02-25 69 views
3

资源的正确字符串表示形式 要通过Ember应用程序工具包中的属性绑定?Ember应用程序工具包绑定名称解析

我曾尝试以下两项:

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

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

但结合不被在任何情况下工作。

任何帮助表示赞赏。

谢谢!

回答

1

我一直在研究这个问题,并且遇到了一些问题。

似乎以这种方式绑定有些不赞成使用计算属性或别名。检查出的答案中的注释,这太问题:https://github.com/emberjs/ember.js/issues/1164#issuecomment-23200023): What's the difference between Ember.computed.alias and an Ember.binding?

或者更具体地说对这个问题的GitHub的意见。

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

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

退房的答案这太问题:Ember.js: data-binding between controllers

而且这一节的余烬指南: http://emberjs.com/guides/controllers/dependencies-between-controllers/

+1

感谢您的反馈!我通过注入初始化程序所需的属性来解决它,但控制器之间的绑定也适用于我。不知道,谢谢! – dvingo