Вопрос

Я запутался в том, когда и где я должен объявить свою просмотр модели при использовании плагина отображения.

Вот мой файл JSON:

{
    "members": [
        {
            "memberid": "001",
            "membername": "Jason"
        },
       {
            "memberid": "002",
            "membername": "Bob"
        }
    ]
}

Вот шаблон HTML:

<div data-bind="foreach: members">
<h3 data-bind="text: memberid"></h3>
<p>Name: <span data-bind="text: membername"></span></p>  
</div>

Вот остальное:

var data = $.getJSON("members.json",function(data)  
            {
                var viewModel = ko.mapping.fromJSON(data);
                 ko.applyBindings(viewModel);

            }
        );

ko.mapping.fromJSON(data, viewModel);

Заранее спасибо за вашу помощь!

Это было полезно?

Решение

Скорее всего, вы хотите объявить свою ViewModel за пределами закрытия, так что она более доступна. Например:

var viewModel = {};
var data = $.getJSON("members.json",function(data)  
            {
                viewModel.model = ko.mapping.fromJSON(data);
                 ko.applyBindings(viewModel);
            }
        );

Это создаст ViewModel, сделает ее доступной и выставит свойство модели (которое будет содержать все отображенные данные). Вы могли бы пропустить свойство модели и просто сделать это на виртуальной машине. Вы можете даже переместить ApplyBindings вне этого, так как вы действительно хотите, чтобы это было только один раз.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top