淘汰赛:我必须在两个可观察阵列填充后执行一个动作

时间:2013-04-29 06:32:56

标签: knockout.js

我是淘汰赛的新手。在我的viewmodel中,只有当从数据库中填充了两个可观察数组时,才执行操作。我怎样才能做到这一点?

提前致谢

1 个答案:

答案 0 :(得分:2)

最简单的方法是定义computed observable,它检查每个数组的长度,如果两个长度都不是零,则返回true

self.bothPopulated = ko.computed(function(){
    return self.array1().length > 0 && self.array2().length > 0;
});

然后只需通过适当的操作订阅它:

self.bothPopulated.subscribe(function(val){
    if (val) alert('both populated');
});

http://jsfiddle.net/Zk6Lc/