当使用requirejs加载依赖项时,我在knockout.simpleGrid 3.0中得到ko是未定义的错误。这是我的require.config.js
var require = {
baseUrl: "/",
paths: {
"bootstrap": "Scripts/lib/bootstrap/bootstrap",
"crossroads": "Scripts/lib/crossroads/crossroads",
"jquery": "Scripts/lib/jquery/jquery-2.1.4",
"knockout": "Scripts/lib/knockout/knockout-3.3.0",
"koSimpleGrid": "Scripts/lib/knockout/knockout.simpleGrid.3.0",
"koProjections": "Scripts/lib/knockout/knockout-projections",
"signals": "Scripts/lib/crossroads/signals",
"hasher": "Scripts/lib/crossroads/hasher",
"text": "Scripts/lib/require/text"
},
shim: {
"bootstrap": { deps: ["jquery"] },
"koSimpleGrid": { deps: ["knockout"] }
}
}
这是导致错误的代码。
ko.simpleGrid = {
// Defines a view model class you can use to populate a grid
viewModel: function (configuration) {
this.data = configuration.data;
this.currentPageIndex = ko.observable(0);
this.pageSize = configuration.pageSize || 5;
// If you don't specify columns configuration, we'll use scaffolding
this.columns = configuration.columns || getColumnsForScaffolding(ko.unwrap(this.data));
this.itemsOnCurrentPage = ko.computed(function () {
var startIndex = this.pageSize * this.currentPageIndex();
return ko.unwrap(this.data).slice(startIndex, startIndex + this.pageSize);
}, this);
this.maxPageIndex = ko.computed(function () {
return Math.ceil(ko.unwrap(this.data).length / this.pageSize) - 1;
}, this);
}
};
我尝试将ko作为参数传递给knockout.simpleGrid但仍然在此行中给出了相同的错误
this.currentPageIndex = ko.observable(0);