如何从位于Route中的setupController调用操作手柄内的函数?(还有,如何调用控制器内的函数,而不是Route本身)。
我希望我的页面分析URL参数,并根据这些参数填充一些变量。
App.CresRoute = Ember.Route.extend({
setupController: function(){
this.send('testFunction', "Print me");
},
actions: {
testFunction: function(string){
console.log(string);
},
}
});
这将返回一个错误:“未行程函式'testFunction'。”
显然,我的方法更复杂,有很多参数,这只是为了演示问题。
2条答案
按热度按时间gg58donl1#
这应该对你有用。
eagi6jfj2#
我编辑了这篇文章,试图澄清您的问题,但我不确定您所说的“从setupController调用操作手柄内的函数”是什么意思。
在示例代码中,
testFunction
要响应,它需要位于路径树的更高位置,从它被调用的地方开始。动作向上。如果你试图在控制器上设置变量,你可以在setupController
钩子中完成,但是你不需要动作来完成它;只需在actions块外部定义testFunction
,并像在路由中调用一个普通方法一样调用它:我不知道车把和这个问题有什么关系,所以我想知道我是否正确地理解了你想做什么?