我需要将一些 HTML 绑定(bind)到一个对象,但我的问题是我在开发时不知道该对象的属性。
我的主视图模型中有一个 selectedItem
属性,我已将其绑定(bind)到 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>
我真的不知道该怎么做。非常感谢任何帮助。
另外,稍微扩展一下,我想以不同的方式处理绑定(bind)对象的属性,例如,如果属性只是一个基本类型,就输出它,但如果它是另一个对象/数组,那么处理它特别地。
这可以做到吗?
最佳答案
如果其他人希望绑定(bind)一个简单对象的属性。你可以这样做......
<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
关于javascript - knockout JS 绑定(bind)到对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12686324/