Javascript Knockout.js:单击“绑定”仅在我第一次单击时有效?

Javascript Knockout.js:单击“绑定”仅在我第一次单击时有效?,javascript,knockout.js,knockout-2.0,Javascript,Knockout.js,Knockout 2.0,Knockout.js中的函数存在一些问题。基本上,它是一个菜单,其中第一个菜单项“Översikt”应该获取JSON数组并填充视图 淘汰码: self.ongoingAuctions = ko.observableArray([]); self.getOngoingAuctions = function(data) { $.getJSON("assets/json/auctions.json", function(data) { self.ongoingAuctions

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次获取

我做错了什么?还是我误解了什么


提前谢谢

我已经为您分享了这把小提琴,它显示了您的代码中有其他错误,您在问题中没有指定:

每次单击时,它都会调用不存在的json(在我的例子中)


它是进入getOngoingActions函数还是调用getJSON函数但返回缓存数据?当我查看控制台时,根本没有调用任何内容。嗨,谢谢你的回答。你是对的。还有别的问题,但我设法解决了。将更新此问题。
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);