未捕获的类型错误:controller.init 不是函数

我正在尝试使用 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,但相反,它给了我一个错误。


噜噜哒
浏览 133回答 1
1回答

幕布斯7119047

您定义controller为函数。所以controller.init()不起作用,因为它还没有返回它的值。您可以存储和访问控制器函数返回的对象的属性,如下所示:let someVar = controller(dataController, UIController); someVar.init();或者没有任何额外的变量赋值controller(dataController, UIController).init();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript