无法将我的 JSON 数据加载到 ko.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()... 没有方法“区域”
我是 Knockout 的新手,肯定有一些明显的错误,但我不知道在哪里。
最佳答案
还没有测试过,但应该让你明白我的意思,我会这样做:
$(document).ready(function(){
var Region = function(uid, name) {
this.uid = ko.observable(uid);
this.name = ko.observable(name);
}
var CompanyViewModel = function() {
this.regions = ko.observableArray([]);
}
var model = new CompanyViewModel();
ko.applyBindings(model);
// 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);
});
model.regions( mappedData );
}
}
);
});
关于javascript - 将 JSON 映射到 observableArray 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11630201/