模板{{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/
如果您真的想使用模板绑定的foreach选项,那么唯一的真实选项是将对象映射到具有键/值属性的对象数组.这样的事情:http://jsfiddle.net/rniemeyer/rpMsM/1/