javascript - 我可以在对象属性上做一个 jquery-tmpl

标签 javascript knockout.js jquery-templates

模板 {{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/

相关文章:

javascript - 制作自动更新的 facebook 风格的时间格式

javascript - 哪些 javascript/php 模板库将解析相同的模板文件?

jquery - Firefox 正在编码客户端模板花括号

javascript - Scrollspy 不工作 Bootstrap 4

javascript - 在 sencha Modern 中从网格中获取选定的项目

javascript - 如何将javascript变量的值存储到php变量中?

jquery - 结合 Knockoutjs.com 的 "Cart editor"和 "Contacts editor"示例的功能

javascript - 无法访问 jQuery 事件处理程序内的全局变量

typescript - 使用 webpack 从 html 文件加载挖空模板

javascript - 字母验证控制