通过 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