我想知道是否可以通过外部控制器修改组件中的属性。
也就是说,我在index.html中有一个注入的组件,如下所示:
{{ button-feed }}
此组件在许多视图中使用。
当我在控制器中获取值时,必须隐藏此组件,我真正想要的是,因为此控制器,修改隐藏或显示按钮的属性。
该组件的格式为:
App.ButtonComponent = Ember.Component.extend ({
hideClass: false
});
属性hideClass
用于显示或不显示按钮。我想要的是修改此属性,但使用不属于组件按钮的控制器。
我试图从组件外部访问该属性,但这是不可能的。
答案 0 :(得分:2)
您可以将参数传递给组件,如下所示:
{{button-feed hideClass=true}}
{{button-feed hideClass=false}}
此外,您也可以传入控制器属性。
{{button-feed hideClass=controllerProperty}}
要回答您的评论,您可以使用以下代码设置controllerProperty
。由于controllerProperty
已绑定到您组件的hideClass
,因此更改controllerProperty
将更改hideClass
。
controller.set('controllerProperty', false);
您可以阅读有关在控制器here上设置属性的更多信息。