我有一个很大的emberjs应用程序,我需要更多地使用ember服务。所以我在我的控制器中有一个方法,我希望它作为一个服务在所有的模态中可用,以及我注入服务的组件。
但是它不起作用,而且没有错误...这是一个很好的方法吗?为什么它不起作用?
所以我在控制器中的方法是:
openModalPrices () {
//method in controller
},
该服务还有另一种方法:
openModalPricesFromService () {
//method in service
},
在我的控制器INIT中,我是这样绑定的:
init: function() {
this._super(...arguments);
this.get('priceService').openModalPricesFromService(this.openModalPrices.bind(this));
}
1条答案
按热度按时间vaqhlq811#
除了从控制器初始化(它是一个单例,因此生命周期/创建不是您本机所期望的),您是否可以使用路由的
afterModel
钩子?在2022年,我个人对控制器使用为0,甚至对查询参数也是如此。
要从路由调用您的服务方法,我将执行以下操作:
此外,应该没有必要在emberjs中使用
bind
--如果您想解决这方面的选项,请随意打开另一个StackOverflow问题〈3