所以,这个问题从我刚才的问题如下对在什么情况下淘汰赛本地模板重新渲染
经过一番调查,看来,如果一个模板定义afterRender
功能和afterRender
函数引用零件模型,然后,如果模型的一部分随后被改变时, afterRender
函数被再次调用。
这种行为似乎类似于computedObservables
(又名dependentObservables
),它取决于该模型的一部分,然后淘汰赛曲目重新运行computedObservables
每当值之一这取决于变化。
为了证明这一点,我已经写了的jsfiddle: http://jsfiddle.net/unklefolk/nczCt/1/
正如所预期的视图时呈现的一个AfterRender函数被调用。 但是,如果你单击该复选框,一个AfterRender功能再次,因为它使用运行viewModel.selectedPet().pet().IsHappy()
这是没有道理给我。 所以我的问题是:
- 这就是一个bug
afterRender
功能正在重新运行? - 我怎样才能保证
afterRender
功能只运行一次?
提前致谢。