gpt4 book ai didi

javascript - 从 Ember 2.0 中的 Controller 操作调用 Controller 方法

转载 作者:行者123 更新时间:2023-11-30 16:35:19 26 4
gpt4 key购买 nike

Ember 2.0 真的让我很难理解新功能。我想从 Action 函数调用 Controller 中的方法,但似乎找不到方法。已经在这上面浪费了一些时间

我读过这个:calling method from action of controller in 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 不可用

最佳答案

您提供的相关代码有错误:

SyntaxError: controllerName.js: unknown: Unexpected token (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 Example data

顺便说一句,你还可以利用 ES2015 语法:

export default Ember.Controller.extend({
methodFunction(data) {
console.log("YEY", data);
},
actions: {
sessionAction(data) {
this.methodFunction(data);
}
}
});

关于javascript - 从 Ember 2.0 中的 Controller 操作调用 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32781881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com