【问题标题】:Can I do a jquery-tmpl each over object properties我可以在对象属性上做一个 jquery-tmpl 吗
【发布时间】:2011-10-22 20:46:31
【问题描述】:

模板 {{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 的这个模板。

【问题讨论】:

    标签: javascript knockout.js jquery-templates


    【解决方案1】:

    你也可以用这个

    {{each myObj}}
          <li><span>${$index}</span> - <span>${$value}</span></li>
    {{/each}}
    

    【讨论】:

    • 需要删除变量 "$" 中的一个符号。 From ${$index} to ${index}这对我有帮助。
    【解决方案2】:

    实际上 {{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/

    【讨论】:

    • 头晕目眩,那是炸弹! =)
    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 2012-01-13
    • 2013-02-14
    • 2011-03-11
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    相关资源
    最近更新 更多