我收到以下代码的错误“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/