我想知道是否可以通过外部 Controller 修改组件中的属性。
也就是说,我在index.html中有一个注入(inject)的组件,如下所示:
{{ 按钮提要 }}
该组件在许多 View 中使用。
当我在 Controller 中获取值时,必须隐藏该组件,而我真正想要的是从该 Controller 开始,修改隐藏或显示按钮的属性。
该组件具有以下形式:
App.ButtonComponent = Ember.Component.extend ({
hideClass: false
});
属性hideClass
用于显示或不显示按钮。我想要的是修改这个属性,但使用不属于组件按钮的 Controller 。
我尝试从组件外部访问该属性,但这是不可能的。
最佳答案
您可以像这样将参数传递给组件:
{{button-feed hideClass=true}}
{{button-feed hideClass=false}}
此外,您也可以传入 Controller 属性。
{{button-feed hideClass=controllerProperty}}
要回答您的评论,您可以使用以下代码设置controllerProperty
。由于 controllerProperty
绑定(bind)到组件上的 hideClass
,因此更改 controllerProperty
将更改 hideClass
。
controller.set('controllerProperty', false);
您可以阅读有关在 Controller 上设置属性的更多信息 here .
关于javascript - 通过 emberJS 中的 Controller 修改组件的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306847/