javascript - 通过 emberJS 中的 Controller 修改组件的属性

标签 javascript ember.js components

我想知道是否可以通过外部 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/

相关文章:

Delphi - 引用在运行时创建的组件

javascript - 为什么当应用程序关闭时 componentWillUnmount 不会在 React 根组件中触发

javascript - 通过 jquery 调用 Web 服务后工具提示 css 类丢失

javascript - 选择下拉列表中的值时隐藏表单

javascript - 如何修复 tinyMCE 卡在 iPad 上,下方有 Canvas ?

javascript - 在 Emberjs 中设置从路由到 Controller 的数据错误

javascript - 指定 ember 组件的目标操作

asp.net - JS中的多个用户控件实例和ClientID

ember.js - classNameBindings 到底在做什么?

java - 在简单的 Java Swing 游戏中使用哪些容器/图形组件?