如何使用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。
答案 0 :(得分:1)
您可以松散地使用这个快速编写的代码。它创建一个计算器来查找第一个数组项及其VideoName属性。当然,也要添加错误检查。
self.Current = ko.computed(function(){
return self.MyVideos()[0].VideoName;
});
答案 1 :(得分: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';
});