質問

マッピングプラグインを使用するときに、いつ、どこでviewmodelを宣言すべきかについて混乱しています。

これが私の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);

よろしくお願いします!

役に立ちましたか?

解決

閉鎖の外でビューモデルを宣言したいので、よりアクセスしやすいです。例えば:

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

これにより、ViewModelが作成され、アクセス可能になり、モデルプロパティが公開されます(マッピングされたすべてのデータが含まれます)。モデルプロパティをスキップして、VMでも実行できます。あなたは本当にそれが一度だけ実行されることを望んでいるので、あなたはこれの外にApplyBindingsを移動することもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top