我收到以下代码错误“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();