2012-08-13 21 views
0

我如何使用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" 
    }] 

所以當前和VideoID的是關係,我想呈現與self.Current值VideoName。

回答

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'; 

}); 
1

你可以鬆散地使用這個快速編寫的代碼。它創建一個計算來查找第一個數組項和它的VideoName屬性。當然,也要添加錯誤檢查。

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