[英]Calling controller method from controller action in Ember 2.0
Ember 2.0確實讓我很難理解新功能。 我想從動作函數中調用控制器中的方法,但似乎找不到方法。 已經浪費了一些時間
我已經讀過: 從emberjs中的控制器動作調用方法,但它僅適用於Ember 1.x,因為在Ember 2.0中不再有ArrayController了,我不能使用this.send()。
基本上我需要的是:
App.SomeController = Ember.Controller.extend({
methodFunction: function(data) {
console.log("YEY", data);
}
actions: {
sessionAction: function(data) {
this.methodFunction(data);
}
}
});
問題是this.methodFunction
不可用
您提供的代碼有誤:
語法錯誤:controllerName.js:未知:意外令牌(7:3)(…)
在methodFunction
聲明之后,
您不見了。 固定:
App.SomeController = Ember.Controller.extend({
methodFunction: function(data) {
console.log("YEY", data);
},
actions: {
sessionAction: function(data) {
this.methodFunction(data);
}
}
});
對於模板:
<button {{action 'sessionAction' 'Example data'}}>Send session action</button>
它正確記錄:
YEY示例數據
順便說一句,您還可以利用ES2015語法:
export default Ember.Controller.extend({
methodFunction(data) {
console.log("YEY", data);
},
actions: {
sessionAction(data) {
this.methodFunction(data);
}
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.