0

ノックアウトjsを使用して次の検証を行うにはどうすればよいですか? 私は次のビューモデルを持っています:

function ViewModel () {
        var self = this;
        self.ListName = ko.observable();
        self.Current = ko.observable();
        self.MyVideos = ko.observableArray();
    }

MyVideos の構造は次のとおりです。

    [{
                "VideoID": 1,
                "VideoName": "First Video"
    },
    {
                "VideoID": 2,
                "VideoName": "First Video"
    }]

したがって、Current と VideoId は関係であり、VideoName を self.Current 値でレンダリングしたいと考えています。

4

2 に答える 2

1

のように聞こえますCurrentVideoId、表示したいのはVideoNameです。そのシナリオでは、次のことができます。

self.CurrentName = ko.computed(function() {
    var currentId = self.Current();

    var currentVideo = ko.utils.arrayFirst(self.MyVideos(), function(video) {
        return currentId === video.VideoId; 
    });

    return currentVideo ? currentVideo.VideoName : 'none';

});
于 2012-08-14T00:17:32.883 に答える
1

このすばやく作成されたコードを大まかに使用できます。最初の配列項目とその VideoName プロパティを見つけるために計算されたを作成します。もちろん、エラーチェックも追加してください。

self.Current = ko.computed(function(){
    return self.MyVideos()[0].VideoName;
});
于 2012-08-13T21:38:39.240 に答える