[英]Ember setupController hook in route disconnects model from template
[英]Calling controller function from Ember setupController inside Route
如何從Route中的setupController的動作手把內調用函數。 (此外,如何在控制器內部而不是路由本身調用函數)。
我希望我的頁面分析URL參數並基於這些參數填寫一些變量。
App.CresRoute = Ember.Route.extend({
setupController: function(){
this.send('testFunction', "Print me");
},
actions: {
testFunction: function(string){
console.log(string);
},
}
});
這將返回錯誤:“沒有任何處理函數'testFunction'。”
顯然,我的方法更復雜,有很多參數,這只是為了演示問題。
我已經對此進行了編輯,以試圖闡明您的問題,但是我不確定“從setupController調用動作把手內部的函數”的含義。
在您包含的示例代碼中,為了使testFunction
響應,它需要在調用它的路由樹上更高。 行動起來。 如果您想在控制器上設置變量,則可以在setupController
掛鈎中進行設置,但是您無需執行任何操作; 只需在action塊外定義testFunction
,然后像在路由上的普通方法一樣調用它即可:
App.CresRoute = Ember.Route.extend({
setupController: function(){
this.testFunction("Print me");
},
testFunction: function(string){
console.log(string);
}
});
我不知道Handlebars與這個問題有什么關系,所以我想知道我是否已經正確理解了您要做什么?
這應該為您工作。
App.CresRoute = Ember.Route.extend({
setupController: function(){
this.actions.testFunction('Print me');
},
actions: {
testFunction(string){
console.log(string);
},
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.