[英]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.