javascript - Knockout JS - 函数不是构造函数

标签 javascript jquery knockout.js

我收到以下代码的错误“TabsViewModel 不是构造函数”。我查看了有关此错误的其他帖子,但大多数建议该函数名称已在其他地方使用,但正如您所见,这是一个非常简单的示例,其他地方未使用 TabsViewModel。

        define(['utils','ko','text!tmpl/risersandfallerstabs_partial.html','text!tmpl/errorPage_partial.html'], function(utils,ko,tmplrisersandfallerstabsStr,tmplErrStr) {
let tabsmodel = {}; 
$(function() {           
    tabsmodel = new TabsViewModel();
    ko.components.register('risersandfallerstabs', {
        viewModel: utils.createVM(tabsmodel), 
        template: tmplrisersandfallerstabsStr                      
    });
    utils.applyBindings(tabsmodel,'risersandfallerstabs');

    var TabsViewModel = (function(){
        let self = {};
        self.test = "123";
        return self;
    });
});
})

为什么会出现此错误?

最佳答案

您正在尝试在 TabsViewModel 存在之前调用它。将函数定义移至函数执行之上。

  var TabsViewModel = (function() {
    let self = {};
    self.test = "123";
    return self;
  });

  tabsmodel = new TabsViewModel();

关于javascript - Knockout JS - 函数不是构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47521408/

相关文章:

java - 如何在事件上调用 jquery 函数?

javascript - 无需 ajax 请求即可将数据添加到 jQuery-Flexigrid

jquery - TextBox 的启用禁用动态使用 knockout 观察?

javascript - 提交时表单值不会重置

javascript - 如何将 Material 分配给 ColladaLoader 或 OBJLoader

javascript - 使用 DOM-Javascript VS 纯 Javascript 对象的陷阱?

javascript - 有没有更好的方法用 jquery 更新图像的高度和宽度?

javascript - 使用浏览器从服务器拉取消息来更新消息

javascript - Knockout JS 安全建议/开发工具

javascript - While 循环设置 CasperJS "then()"步骤