我正在尝试在淘汰赛 3.2 中使用自定义组件。如果我使用预定义的参数,一切都很好。例如这个jsFiddle。
但是当我从我的视图模型中传递参数时(我已经在这里阅读了如何做)我什么也没得到:jsFiddle。我究竟做错了什么?
这是我的js代码:
ko.components.register('pagination', {
viewModel: function (params) {
var self = this;
this.page = ko.observable(params.page);
this.max = ko.observable(params.max);
this.list = ko.pureComputed(function () {
var a = self.page(),
list = [],
min = a - 2 < 1 ? 1 : a - 2,
max = a + 2 > self.max() ? self.max() : a + 2;
for (var i = min; i <= max; i++) {
list.push(i);
}
return ko.observableArray(list);
});
this.callback = function (i) {
console.log(i);
self.page(i);
};
},
template: {
element: 'pagination-tpl'
}
});
function Vm(){
this.page = ko.observable(2);
this.max = ko.observable(6);
}
var vm = new Vm();
ko.applyBindings(vm, document.getElementById('koBinding_somePage'));