【问题标题】:Bind a class to dynamic service property将类绑定到动态服务属性
【发布时间】:2016-10-11 16:27:45
【问题描述】:

我有一个服务,我称之为state,它只处理加载状态,我可以将它扩展为我将来可能想要的任何东西。我需要这项服务,以便我可以让不同的组件以某种方式相互通信,以便他们知道另一个组件是否正在加载或执行某些操作。

无论如何,我有这个按钮,我在不同的地方使用它只是发送一个动作,然后变成一个微调器,直到那个动作完成。

他们目前加载动画的工作方式是classNameBindings: ['state.working'],

但是,如果我现在同时在屏幕上显示其中两个按钮,并且我调用 this.state.set('working',true);,那么所有按钮现在都在旋转。

我宁愿将一个属性名称传递给按钮组件,告诉它在 state 服务上观察什么属性以确定它是否应该添加 working

我只是在弄清楚如何在组件中进行这项工作时遇到了一些麻烦。

如何让类绑定监视动态属性名称,该名称将作为 loadingPropertyName 之类的名称传递给组件,以便每个按钮组件都可以监视 working 类绑定的不同属性。

【问题讨论】:

    标签: ember.js service computed-properties


    【解决方案1】:

    你可以这样做:

    init() {
      this.set('classNameBindings', 'state.'+this.get('stateProp'));
      this._super();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-10
      • 2014-12-08
      • 2015-10-15
      • 2011-04-21
      • 2016-01-06
      • 2014-08-25
      相关资源
      最近更新 更多