我正在试图弄清楚如何以更清晰的方式避免订阅的递归。
在接下来的小提示中,如何调用subscribe 2次(对于observableOne),这种情况发生了,因为我需要在初始状态下使用observable(即监视订阅)。
可以通过“if”条件(observableTwo)来避免,但我想知道是否某些函数执行此任务而不是“if”条件。我尝试使用cleanNode但不起作用。
这是小提琴: http://jsfiddle.net/wabe/nLYyf/
我不想取消订阅observable,因为它应该在通话后收听。
答案 0 :(得分:1)
问题的一部分,如果您设置了设置,它似乎不会触发数据绑定,因此复选框可能会以错误的状态结束。
修复此问题...而不是设置observableTwo,将其置于超时...
setTimeout(function(){ self.observableTwo(''); },0);
如何抑制递归通知,我没有看到任何“官方”方式。所以你正在这样做的方式,或者你可能使用标志的其他变体,或者可能想出一个通用的包装函数来为你排序。