javascript - 将 JSON 映射到 observableArray 时出错

标签 javascript json knockout.js

无法将我的 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/

相关文章:

javascript - 拖动图片但从可拖动图像中删除名称元素

python - 如何自定义排序要在 json.dumps 中使用的字典列表

javascript - knockout.js 是否忽略禁用,或者 'allow' <a> 单击禁用元素会发生什么?

javascript - 无法到达由 ko.mapping 在 javascript 中实例化的 observablesArray

jquery - knockoutjs 我可以使用组件作为表格行吗

javascript - 在 dropzone.js 中获取图像名称(和其他文件属性)onclick

javascript - Bootstrap模态位置问题

JavaScript:如何将数组值与每个匹配项匹配,而不是与所有匹配项匹配

javascript - 使用json将记录插入mysql

Python 2 与 Python 3 - urllib 格式