1
无法将我的JSON数据加载到ko.observableArray中,并且不知道为什么。将JSON映射到observableArray的错误
$(document).ready(function(){
function Region(uid, name) {
this.uid = ko.observable(uid);
this.name = ko.observable(name);
}
function CompanyViewModel() {
this.regions = ko.observableArray([]);
}
ko.applyBindings(new CompanyViewModel());
// Init.
$.getJSON('/regions/',
function(data){
if(data.status == 'ok')
{
var mappedData = ko.utils.arrayMap(data.regions, function(item) {
return new Region(item.uid, item.name);
});
CompanyViewModel.regions(mappedData);
}
}
);
});
调试器说:遗漏的类型错误:对象功能CompanyViewModel()...有没有方法“区”
我是新来的美人,肯定有一些明显的错误,但我不知道在哪里。
谢谢! 我希望现在我明白我的错误。我创建了“匿名”viewmodel对象,并试图从模型定义本身而不是从对象调用方法,对吧? – vandroid 2012-07-24 12:22:55
对,你没有在模型的实例上工作。顺便说一句,如果你不打算改变一个属性(比如说一个ID),那么没有理由把它变成可观察的。 – 2012-07-24 12:25:07