data-bind不在视图页面中显示数据

时间:2013-10-04 01:50:21

标签: javascript knockout.js

这就是我设置页面的方式,但是没有显示数据,我不确定原因:

的JavaScript /敲除:

 var getList = function () {
            Ajax.Get({
                Url: ...,
                DataToSubmit: {id: properties.Id },
                DataType: "json",
                OnSuccess: function (roleData, status, jqXHR) {
                    bindModel(roleData);

                }
            });
        };


    // Binds the main ViewModel
        var bindModel = function (data) {
            var _self = viewModel;

            ko.applyBindings(viewModel, $('#ListView')[0]);
        };

    var viewModel = {
            ListRoleTypes: ko.observableArray([]),
            .....
        };

 var roleViewModel = function (data) {
        var _self = this;
        _self.ContentRole = ko.observable(data.ContentRole);
        _self.RoleName = ko.observable(data.RoleName);
        _self.RoleRank = ko.observable(data.RoleRank);
        _self.UserCount = ko.observable(data.UserCount);
    };

这是我的查看页面:

<div data-bind="foreach: ListRoleTypes">
            <span data-bind="text: RoleName"></span>
        </div>

关于我哪里出错的想法?​​

1 个答案:

答案 0 :(得分:2)

你正在调用bindmodel并传入roledata,但是在bindmodel中,你没有对它做任何事情。

Ajax.Get({
            Url: ...,
            DataToSubmit: {id: properties.Id },
            DataType: "json",
            OnSuccess: function (roleData, status, jqXHR) {
                bindModel(roleData);

            }
        });
    };


// Binds the main ViewModel
    var bindModel = function (data) {
        // need to do something with viewmodel to handle the passed in data
        viewmodel.initialize(data);

        ko.applyBindings(viewModel, $('#ListView')[0]);
    };