如何只显示Knockout JS中数组列表中的选定项目的视图?

Nai*_*air 2 knockout.js

我在http://jsfiddle.net/nair/bv3FG/19/上创建了一个示例jsfiddle 来演示我遇到的问题.我有一个人的集合,我在一个表中显示它们,可以选择编辑每一行.数据在加载时正确显示.但是当我去编辑模型时,我面临两个问题;

  1. 我需要确保在编辑行时,我希望编辑模板显示而不是表格.我正在使用可见性来切换可见性.这确实有效.
  2. 当我按下编辑时,表单显示为编辑,但我选择的项目数据不会显示,即使在我传递的模板中,所选项目也是数据.

谢谢,

RP *_*yer 6

问题是它尝试立即绑定到您的选择项是一个空数组时出错.

更好的策略可能是使用with绑定selecteditem来控制该部分的上下文.如果selecteditem为空,则不会呈现该区域.

所以,它看起来像:http://jsfiddle.net/rniemeyer/ACE2d/

然后,您不需要在表单上使用可见性,因为with绑定将处理它.保存后,您可以将该项目标记为空,该区域将不再可见/绑定.