模板 {{each}} 指令非常适合像这样遍历数组:
var myArray = ["a","b","c"];
我想知道是否有迭代对象属性的等价物,即:
var myObj = {"propOne": "a", "propTwo": "b", "propThree": "c"};
我想要一个可以让我输出为的模板
<ul>
<li><span>propOne</span><span>a</span></li>
.... etc
为了加分,我想使用 KnockoutJS 中的这个模板。
最佳答案
实际上 {{each}} 将遍历对象的属性。你可以这样做:
{{each(prop, val) myObj}}
<li><span>${prop}</span> - <span>${val}</span></li>
{{/each}}
这是 Knockout 中的示例:http://jsfiddle.net/rniemeyer/rpMsM/
如果您真的想使用模板绑定(bind)的 foreach
选项,那么唯一可行的选择是将对象映射到具有键/值属性的对象数组。像这样:http://jsfiddle.net/rniemeyer/rpMsM/1/
关于javascript - 我可以在对象属性上做一个 jquery-tmpl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990585/