0

私のモデルには、アイテムのコレクションを含むフィールドが 1 つあります。この特定のモデルにバインドされているビューから、jquery からそのコレクションにアクセスしたいと考えています。

どうすればこれを達成できますか?

4

2 に答える 2

2

ここにそれを行うための巧妙な方法があります。foreach ループを介して JSON データ オブジェクトを構築します。ajax 呼び出しを介してデータをロードする方が良いでしょうが、それは別の日の別のソリューションです。

ここでは、少なくとも Id プロパティと Name プロパティを持つアイテムのコレクションがあると仮定します。JSON では最後の項目の末尾に追加の「,」を実際に許可しないため、@foreach ループを私のものよりも少し良くする必要があります。

var data = [
    @foreach (var item in Model.MyCollection)
    {
        <text>{"key":"@item.Id", "value":"@item.Name"},</text>
    }
];
$.each(data, function(i) {
    alert(data[i].key + ": " + data[i].value);
});
于 2013-01-06T03:16:32.197 に答える
0

私はこのようなことをしますが、それがどれほど「正しい」かはわかりませんが、機能し、私には理にかなっています。

var view = Backbone.View.extend({
    el: $('window'),
    render: function() {
        var that = this;
        var model = new myModel();
        model.fetch({
            success: function({
                that.dataModel = model;
            });
        });
    }

});

そして、this.dataModelを実行できる場所ならどこでも、それはあなたのモデルでなければなりません

于 2013-01-05T20:48:43.550 に答える