Почему моя модель представления не является обязательной и не может использовать foreach с подключаемым модулем

По сути, я получаю модель сервера MVC, сериализую в JSON и передаю ее переменной javascript для привязки к таблице, но ничего не происходит, я должен что-то упустить. Почему это не связывает?

var categories = [{"Name":"BOOK","ID":"1"},{"Name":"MOVIE","ID":"2"},{"Name":"MUSIC","ID":"3"},{"Name":"VIDEO","ID":"4"}];

var viewModel = ko.mapping.fromJS(categories);
ko.applyBindings(viewModel);


<table>
    <thead>
        <tr>
            <th>Category</th>
        </tr>
    </thead>
    <tbody data-bind="foreach: viewModel">
        <tr>
            <td data-bind="text: Name"></td>
        </tr>
    </tbody>
</table>

1 ответ

Решение

Попробуйте перейти на это:

var data = {
    categories: [{"Name":"BOOK","ID":"1"},
                 {"Name":"MOVIE","ID":"2"},
                 {"Name":"MUSIC","ID":"3"},
                 {"Name":"VIDEO","ID":"4"}]
}
var viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);

А также

<tbody data-bind="foreach: categories">

Тест здесь

Другие вопросы по тегам