自动更新组件以获取ember.js服务中的更改(ember 2.12)

时间:2017-04-04 10:03:04

标签: ember.js

我有这样的服务:

import Ember from 'ember';

export default Ember.Service.extend({
     total: '',

    setTotal(total) {
        this.set('total', total);
    },
    getTotal(){
        return this.get('total');
    }
});

差异路由中的两个组件

当一个组件更新"总计"在服务中的属性,我想自动将新值更新到其他组件的.hbs文件。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

两个组件是否在不同的路径中并不重要。您可以在两个组件中注入服务并在一个组件中更新值,并通过定义计算属性来反映另一个组件中的更改。

请参阅following twiddle了解我的意思。 my-service被注入first-component,并且在通过按钮点击操作处理后,通过setTotal设置总值。由于定义了total计算属性,second-component服务价值的变化会反映到serviceTotal