Rivetsjs迭代 - 使用整数而不是集合

时间:2015-01-25 11:55:29

标签: rivets.js

根据rivetsjs文档,我们可以通过遍历对象(数组)来渲染内容,

<ul>
  <li rv-each-todo="list.todos">
    <input type="checkbox" rv-checked="todo.done">
    <span>{ todo.summary }</span>
  </li>
<ul>

但有没有办法可以通过使用单个整数来表示迭代的次数?

我的意思是这样的,

  <li rv-each="list.num_of_todos">
   ...

其中 num_of_todos 是一个整数,表示要进行的迭代次数。

1 个答案:

答案 0 :(得分:1)

没有&#34;正确&#34;这样做的方式。但是,您可以使用返回数组的格式化程序轻松模仿它,如下所示:

&#13;
&#13;
var list = {
  name: 'to do list',
  noOfToDos: 5
};
rivets.formatters.makearray = function(value) {
  var result = [];
  while (value--) {
    result.push(0)
  };
  return result;
}
rivets.bind($("ul"), { // bind rivets
  list: list
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/rivets/0.7.1/rivets.bundled.min.js"></script>
<ul>
  <li rv-each-item="list.noOfToDos | makearray">Test</li>
  <ul>
&#13;
&#13;
&#13;