更改Ember.ComputedProperty

时间:2016-02-23 18:49:29

标签: javascript ember.js binding scope computed-properties

正如标题所说,我希望找到一种方法来改变Ember.ComputedProperty的上下文或范围。

我的用例是我允许用户定义用于动态绑定的bindingConfig属性。此bindingConfig可以是字符串或函数,也可以是Ember.ComputedProperty。

因为bindingConfig是与内容/模型分开传递的,所以我需要将它绑定到内容,而我还没有找到为Ember.ComputedProperty执行此操作。

https://ember-twiddle.com/8c01af57f3a3b9fde858?openFiles=application.controller.js%2Capplication.template.hbs

非常感谢,:))

1 个答案:

答案 0 :(得分:0)

以下是您的示例所示:

{{my-component content=appObj bindingConfig="name"}}
{{my-component content=appObj bindingConfig=nickName}}

与此相同:

{{my-component content=appObj bindingConfig="name"}}
{{my-component content=appObj bindingConfig="Darth Meow"}}

考虑到Darth Meow(或appObj)上没有content属性,ember的行为符合预期。

你想要的是这个:

{{my-component content=appObj bindingConfig="name"}}
{{my-component content=this bindingConfig="nickName"}}

第二个组件现在会在nickName上查找controller属性。