在Knockout.js中遇到一些函数问题。基本上它是一个菜单,第一个菜单项“Översikt”应该获取一个JSON数组并填充视图。
淘汰赛代码:
self.ongoingAuctions = ko.observableArray([]);
self.getOngoingAuctions = function(data) {
$.getJSON("assets/json/auctions.json", function(data) {
self.ongoingAuctions(data);
});
}
我的点击装订:
<a href="#" data-bind="text: 'Översikt', click: function(){ setHeadline.bind($data,'Översikt'); getOngoingAuctions() }, css: { active: 'Översikt' == headline() }" class="lead"></a>
问题是这只在我第一次点击菜单项时才有效。 JSON不会在第二,第三,第n次获取。
我做错了什么?或者我误解了什么?
提前致谢!
答案 0 :(得分:0)
我已经为您分享了这个小提琴,它显示了您未在问题中指定的代码中的其他错误:
每次单击
时,都会调用不存在的json(在我的情况下)var viewModel = function(){
var self = this;
self.ongoingAuctions = ko.observableArray([]);
self.getOngoingAuctions = function(data) {
$.getJSON("assets/json/auctions.json", function(data) {
self.ongoingAuctions(data);
});
}
self.setHeadline = function(){
console.log('set headline')
}
self.headline = function(){
console.log('headline');
}
}
var myVm = new viewModel();
ko.applyBindings(myVm);