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