Javascript 计算computed()时调用的依赖可观察项
我有一个计算函数,它基本上应该监听可观察数组(项目)中的任何变化。问题是,Knockout在初始化时调用此函数。我知道这样做是为了找出它的依赖关系,但在我的例子中,这是一个问题,因为它会发出ajax请求。除了引入一些计数器变量,在第一次调用时跳过调用ajax,还有什么解决方案吗? 谢谢Javascript 计算computed()时调用的依赖可观察项,javascript,knockout.js,Javascript,Knockout.js,我有一个计算函数,它基本上应该监听可观察数组(项目)中的任何变化。问题是,Knockout在初始化时调用此函数。我知道这样做是为了找出它的依赖关系,但在我的例子中,这是一个问题,因为它会发出ajax请求。除了引入一些计数器变量,在第一次调用时跳过调用ajax,还有什么解决方案吗? 谢谢 我认为您真正想要的是手动订阅您的Items数组,以便在更新它时调用ajax函数 self.Items.subscribe(function(){ $.ajax({ url: "myUrl"
我认为您真正想要的是手动订阅您的Items数组,以便在更新它时调用ajax函数
self.Items.subscribe(function(){
$.ajax({
url: "myUrl",
type: 'POST',
data: ko.toJSON(self.Items),
contentType: 'application/json'
});
});
传递的函数只有在数组本身发生更改时才会被调用,因此在初始化时不会被调用。例如,见
self.Items.subscribe(function(){
$.ajax({
url: "myUrl",
type: 'POST',
data: ko.toJSON(self.Items),
contentType: 'application/json'
});
});