我需要将一些HTML绑定到一个对象,但我的问题是我在开发时不知道该对象的属性。
我的主视图模型中有一个selectedItem
属性,我已绑定到HTML中的一个部分:
<div data-bind="with: selectedItem">
</div>
现在我想根据属性名称和属性值生成一个表:
<div data-bind="foreach: [WHAT DO I PUT HERE?]">
<label class="control-label"><span data-bind="text: [OR HERE?]" /></label>
</div>
我真的不知道该怎么做。非常感谢任何帮助。
另外,稍微扩展一下,我想以不同的方式处理绑定对象的属性,例如,如果属性只是一个基本类型,只输出它,但如果是另一个对象/数组,则处理它特别
可以这样做吗?
答案 0 :(得分:13)
如果其他人想要绑定一个简单对象的属性。你可以这样做......
<table>
<tbody data-bind="foreach: arrayOfObjects">
<tr data-bind="foreach: Object.keys($data)">
<td data-bind="text: $parent[$data]"></td>
</tr>
</tbody>
</table>
注意:旧版浏览器不支持object.keys,但您可以使用它来添加向后兼容性http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation
答案 1 :(得分:4)