如何使用knockout js进行以下验证?

时间:2012-08-13 21:17:01

标签: knockout.js

如何使用knockout 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。

2 个答案:

答案 0 :(得分:1)

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

self.Current = ko.computed(function(){
    return self.MyVideos()[0].VideoName;
});

答案 1 :(得分: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';

});