【问题标题】:KnockoutMapping: ComputedObservables in parent model are not updated after loading dataKnockoutMapping:加载数据后不更新父模型中的 ComputedObservables
【发布时间】:2012-07-28 06:21:27
【问题描述】:

我想通过来自服务器的 ajax 调用加载数据,并通过敲除映射插件将其映射到我的敲除数据模型中。数据的加载是有效的,唯一的问题是在父模型中计算的 observables 不再更新。有人可以向我解释我做错了什么吗?谢谢!

创建了一个小提琴来演示我的问题: http://jsfiddle.net/N9Pmt/27/

【问题讨论】:

  • 请告诉我其他人看到了这个问题标题中的错字。 (抱歉,如果这不是建设性的,但我确实笑了一点!)。 :)
  • 感谢您指出这一点。 ;)

标签: javascript json serialization knockout.js knockout-mapping-plugin


【解决方案1】:

您的数据包含sumtest: 0。这最终会在映射过程结束时用新的 observable 替换现有的computed。现有的计算仍然会被重新评估,但绑定无法再找到它,因为它已被替换。

一种解决方案是在您的映射选项中忽略 sumtest,例如:http://jsfiddle.net/rniemeyer/N9Pmt/28/

【讨论】:

  • 太好了,它有效!但是如果我的模型中有很多计算值,我是否必须将它们全部添加到忽略列表中?另一种解决方案是什么?
  • 另一种解决方案是直接更新数组,因此仅针对项目数组调用映射:jsfiddle.net/rniemeyer/N9Pmt/29
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 2012-08-19
  • 1970-01-01
  • 2011-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多