knockout.js 在赋值过程中存在延迟时,将可观察数组绑定到视图

mdfafbf1  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(119)

我有一个knockout可观察数组,它的赋值在一段时间后发生了变化,但没有在视图中反映出来。有人能告诉我哪里做错了吗?我希望输出显示
· GRE 1111 ·托福111
但它表明
· GRE2 222 ·托福考试2 222
jsFiddle链接:https://jsfiddle.net/4r37x9y5/
于飞:
第一个

drnojrws

drnojrws1#

这里有几个问题。正如你在评论中提到的,你没有绑定一个对象和可观察对象。你只是添加了一个全局变量plans。如果knockout在viewModel中找不到属性,它将使用window对象的属性。这就是它第一次工作的原因

  • 您需要将viewModel更改为构造函数,并使用new viewModel()创建一个对象或示例。
  • 应该通过将可观察对象作为函数调用来读取和更新它们。因此,this.plans(plans1)。如果您设置this.plans = plans2,它将简单地用一个简单的数组覆盖可观察对象,而没有订阅者在属性更改时更新UI
  • 您需要在setTimeout内部使用correct this

第一个

相关问题