我有一个视图模型(调查),它有一个成员(questions.current),它是一个指向当前问题的索引器。每个问题都有一个需要绑定到屏幕的属性 (.text)。这是场景:
survey.questions.current.text
survey.questions.movenext()
我希望屏幕上的文本显示当前问题的文本值。随着我的前进,我希望此文本能够自动更新。
处理它的一种方法是拥有一个(ko.observable)survey.questions.currentText 属性,该属性在执行 movenext 或 moveprevious 函数时自动更新。但是,这可能不是最干净的方法,因为我还有其他值(包括与单个问题相关的选择)也需要在屏幕上更新,并且我不想为每个属性创建重复项。
将 text 属性设为 observable 是不合适的,因为问题文本永远不会改变。当前选择的问题发生了变化,需要触发屏幕上项目的更新。
处理这个问题的正确方法是什么?