我在我的项目中使用 knockout.js 将模型绑定到视图。基本上,在 document.ready 函数上,我使用以下代码:
var viewModel = {
firstName: ko.observable("John")
listofChildren=ko.observablearray()
};
ko.applyBindings(viewModel);
dataService.getChildren(viewModel); // This is no good need to move to partial view
我可以在大多数页面上使用上面的 viewModel。但是,我要求对于一个局部视图,我们通过 Jquery 调用第三方 Web 服务并填充上面的 listOfChildren 属性。
问题是目前对 web 服务的调用发生在 document.ready 上,这意味着每次页面刷新都会调用 web 服务。我只想在用户加载部分视图时拨打电话。
我试图在部分视图页面上将调用移动到第三方 Web 服务,但它显示 viewModel 为空。
dataService.getChildren(viewModel); //where dataService is a function which uses ajax call to webservice and populates the listofChildren array.
有人可以帮助我如何达到最好的效果吗?