0

这就是我设置页面的方式,但没有显示任何数据,我不确定为什么:

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>

关于我要去哪里错的任何想法?

4

1 回答 1

2

您正在调用 bindmodel 并传入角色数据,但是在 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]);
    };
于 2013-10-04T02:47:05.153 回答