[英]Uncaught TypeError: controller.init is not a function
我正在尝试使用 ES6 语法创建一些 JavaScript 代码,但它给了我一些错误。 当我用 ES5 编码时,它运行良好。
索引.js
let UIController = () => {
return {
getInput: () => {
},
clearFields: () => {
},
}
}
let dataController = () => {
}
let controller = (dataCtrl, UICtrl) => {
let setupEventListeners = () => {
};
return {
init: () => {
console.log('Application has started.');
setupEventListeners();
}
};
}
controller(dataController, UIController);
controller.init();
我希望它记录The application has started ,但相反,它给了我一个错误。
您将controller
定义为函数。 所以controller.init()
不起作用,因为它还没有返回它的值。 您可以像这样存储和访问控制器函数的返回对象的属性:
let someVar = controller(dataController, UIController);
someVar.init();
或者没有任何额外的变量赋值
controller(dataController, UIController).init();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.