【发布时间】:2013-12-17 08:27:12
【问题描述】:
在使用 Backbone Marionette Views 时,我真的不知道如何实现 Isotope 插件。实际上我是在 CompositeView 中这样做的:
class List.PostsView extends App.Views.CompositeView
template: "#template"
itemView: List.PostView
appendHtml: (collectionView, itemView, index) ->
$newItems = $(itemView.el)
#console.log "newItems", $newItems
$.getScript "//cdn.jsdelivr.net/isotope/1.5.25/jquery.isotope.min.js", ->
$("#postsRegion").imagesLoaded ->
$("#postsRegion").isotope
itemSelector: ".item"
$("#postsRegion").isotope "insert", $newItems
这意味着,我覆盖了 Marionette 的默认方法以附加 itemView(childView)。
它正在工作,但我认为这不是正确的方法,这应该很慢,因为必须再次为每个模型初始化 Isotope 插件?我试图在 View 之外初始化 Isotope,但即使 #postsRegion 在 CompositeView 模板之外,它也不起作用。
我需要将它与 Marionette Views 结合使用,因为添加到集合中的每个新模型都应该自动呈现。 ItemView 还为我提供了应附加在 DOM 中的模板。 (模板是 Bootstrap 3.0 Thumbnail - col-md-4)
如果有人能在这件事上帮助我,我将不胜感激。
马塞尔
【问题讨论】:
标签: backbone.js marionette jquery-isotope