簡體   English   中英

未捕獲的類型錯誤:controller.init 不是函數

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM