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 是关系,我想用 self.Current 值呈现 VideoName。

4

2 回答 2

1

您可以松散地使用这个快速编写的代码。它创建一个计算来查找第一个数组项及其 VideoName 属性。当然,还要添加错误检查。

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

听起来像是Current并且VideoId您想要显示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 回答