我有这样的服务:
import Ember from 'ember';
export default Ember.Service.extend({
total: '',
setTotal(total) {
this.set('total', total);
},
getTotal(){
return this.get('total');
}
});
和差异路由中的两个组件。
当一个组件更新"总计"在服务中的属性,我想自动将新值更新到其他组件的.hbs文件。这样做的最佳方式是什么?
答案 0 :(得分:1)
两个组件是否在不同的路径中并不重要。您可以在两个组件中注入服务并在一个组件中更新值,并通过定义计算属性来反映另一个组件中的更改。
请参阅following twiddle了解我的意思。 my-service
被注入first-component
,并且在通过按钮点击操作处理后,通过setTotal
设置总值。由于定义了total
计算属性,second-component
服务价值的变化会反映到serviceTotal
。