首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Backbone.js迭代一组Rivets.js模型?

使用Backbone.js迭代一组Rivets.js模型?
EN

Stack Overflow用户
提问于 2012-08-07 21:03:54
回答 4查看 3.7K关注 0票数 3

我在一个主干项目中使用Rivets.js进行两个双向数据绑定,并希望实现迭代绑定。文档表明迭代绑定是可能的,但是没有可用的示例。我使用一个简单的Rails API向客户端发送JSON,并希望对内容进行迭代。有人成功地在Rivets.js中实现了这个功能吗?

参考资料:使用Backbone.js和Rivets.js的简单示例

jsFiddle这里:http://jsfiddle.net/rhodee/3qcYQ/1/

来自Rivets.js站点

迭代绑定 尽管Rivets.js中可能包含每个项的绑定例程,但您可以使用数据-html绑定以及一组临时格式化程序来对集合进行排序和迭代呈现(以及其他很酷的事情)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-11 02:07:57

0.3.2中,现在正是出于这个目的,有一个数据-每个-[项目]绑定

代码语言:javascript
复制
<ul>
  <li data-each-todo="list.todos">
    <input type="checkbox" data-checked="todo.done">
    <span data-text="todo.summary"></span>
  </li>
<ul>

对于早期版本的Rivets.js,您所提到的工作是用格式化程序实现迭代呈现,例如,您可以使用model.items | itemList进行data-html绑定,其中itemList格式化程序只是在数组上循环并返回一些呈现出来的HTML。

代码语言:javascript
复制
rivets.formatters.itemList = (array) ->
  ("<li>#{item.name}</li>" for item in array).join ''
票数 2
EN

Stack Overflow用户

发布于 2012-10-13 19:30:34

对这一问题的回答是:

从0.3.2开始,就有了一个数据-每个项绑定来实现这个目的。

请注意,您需要具体地修改铆钉适配器以使用主干集合,因为Rivets.js站点上的开箱即用示例不会与此用例一起运行。

在你的rivets.configure({ adapter: ... })中你需要这样的东西

代码语言:javascript
复制
...
read: function( obj, keypath ) {
    return obj instanceof Backbone.Collection 
       ? obj["models"] 
       : obj.get(keypath)
}

和JS Fiddle:http://jsfiddle.net/tigertim719/fwhuf/70/

为了获得额外的积分,嵌入在模型中的集合将需要在适配器中进行额外的处理。

要获得更多信息,请查看这篇关于Rivets.js Github问题的文章:

使用数据绑定绑定到Backbone.Collection -每个绑定

票数 3
EN

Stack Overflow用户

发布于 2012-08-07 23:12:56

UnderscoreJS集成在主干中,因此您可以使用它的本地方法,如.each()或使用集成主干集下划线方法

这就是你要找的吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11854126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档