【发布时间】:2013-10-17 14:20:15
【问题描述】:
我在我的 Web 应用程序中使用 Pager JS、Knockout 和 Jquery。这是代码
function ViewModel(){
var self = this;
self.interior = ko.observable();
self.interior.background = ko.computed(function() {
$.getJSON('/interiors', {interior_id: self.interior_id()}).success(function(data) {
return self.interior.background = data.interior.background_url;
});
}, this);
}
$(document).ready(function () {
pager.Href.hash = "#!/";
viewModel = new ViewModel();
pager.extendWithPage(viewModel);
ko.applyBindings(viewModel);
pager.start();
});
执行代码时出现以下错误:
Uncaught TypeError: Object #<ViewModel> has no method 'interior_id'
我知道这个变量还不存在,她也没有方法。但是如何解决这个错误呢?
【问题讨论】:
-
不要调用不存在的函数?你想做什么?
-
所以我想做 - 当参数 'interior_id' 改变时,从 JSON 页面获取数据并更新 'interior' 变量。也许你有什么建议?
-
但是您的视图模型中甚至没有一个名为“interior_id”的属性或可观察对象?
-
是的。我不。此参数由 PagerJS 在加载 Pager 时在视图模型中创建。
标签: javascript jquery json knockout.js pager