【问题标题】:modify a property of a component through a controller in emberJS通过 emberJS 中的控制器修改组件的属性
【发布时间】:2015-06-01 03:28:48
【问题描述】:

我想知道是否可以通过外部控制器修改组件中的属性。

也就是说,我在 index.html 中有一个注入组件如下: {{ button-feed }}

这个组件用于许多视图。

当我在控制器中获取值时,这个组件必须被隐藏,而我真正想要的是,自从有了这个控制器,修改一个隐藏或显示按钮的属性。

组件具有以下形式:

App.ButtonComponent = Ember.Component.extend ({
   hideClass: false
});

属性hideClass 用于显示或不显示按钮。我想要的是修改此属性,但使用不属于组件按钮的控制器。

我试图从组件外部访问该属性,但这是不可能的。

【问题讨论】:

    标签: javascript ember.js components


    【解决方案1】:

    你可以像这样向你的组件传递参数:

    {{button-feed hideClass=true}}
    {{button-feed hideClass=false}}
    

    另外,您也可以传入控制器属性。

    {{button-feed hideClass=controllerProperty}}
    

    要回答您的评论,您可以使用以下代码设置controllerProperty。由于controllerProperty 绑定到组件上的hideClass,更改controllerProperty 将更改hideClass

    controller.set('controllerProperty', false);
    

    您可以阅读有关在控制器上设置属性的更多信息here

    【讨论】:

    • 是的,但是如何从控制器更新属性“hideClass”?对不起,我是新手:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    相关资源
    最近更新 更多