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