我不确定这是否可能,但我有一个场景,我有一个验证系统,当某些东西通过依赖的 observable 变得有效/无效时,它会通知我的验证系统。现在,当用户填写表单时,这非常有用,因为dependantObservable 被驱动了底层可观察值的变化。(即,如果 Name 属性发生变化,它将重新评估isValid
依赖的 observable,这将反过来通知我的绑定哪些钩子进入了验证系统)。
现在我的问题是,如果用户根本不接触表单而直接提交,它不会触发绑定,因为任何可观察对象的基础值都没有改变,所以没有订阅者会知道任何验证更改正在发生。理想情况下,我不想遍历每个 observable 并重新为其分配当前变量以推动验证评估,这反过来又会触发验证状态的变化。所以我真正想做的就是让这个isValid
dependantObservable因为没有更好的词而刷新。
无论哪种方式看起来都很讨厌,但我的选择似乎是:
1) 强制对所有被验证的 observables 进行值更改(可怕) 2) 强制重新评估 isValiddependantObservable 以触发订阅者(不那么可怕,但仍然很糟糕) 3) 重新编写验证库以公开一个forceValidation()
函数这会以某种方式触发重新评估所有内容,从而绕过底层可观察对象触发验证管道的需要。
有任何想法吗?