我正在重构我的Backbone.js应用程序以使用Marionette.js,并且我正在尝试围绕CollectionView进行思考。假设我有几个模型为Cow的ItemView://Declaremymodels.varCow=Backbone.Model.extend({});varCows=Backbone.Collection.extend({model:Cow});//MakemyviewsvarGrassPatch=Marionette.ItemView.extend({tagName:'div',template:"{{name}}",})varPasture=Marion
我的目标我需要创建一个自定义布局(流布局),它可以接收可变数量的View,并根据它们创建必要的区域,并在这些区域内显示传入的View。View可以垂直排列或水平。要求该布局有一个模板,其中最初未定义区域。它只包含一个包装器(data-role="region-wrapper"),添加的区域将在其中呈现。我的方法。1-扩展Marionette.Layout(显然)2-像下面这样重写构造函数constructor:function(options){//callsuperhere...this.viewList=options.viewList||[];this._defineRegion
当我使用Backbone的model.destroy()时,它似乎会自动从DOM中删除该View。有没有办法让我使用destroy()发送DELETE请求,但自己从DOM中删除View?类似于:this.model.destroy({wait:true,success:function(){$('#myElement').animate({"height":"0",1000,function(){$('#myElement').remove()}});}}); 最佳答案 您需要在包含项目View(documentation)的任何C
我有以下情况:app.js:SingletonMarionette.Application()我在其中定义导航、页脚和主要区域。在初始化程序中,我构建了Marionette.Contoller's并将它们附加到应用程序的this.controller对象以供以后控制。我可能不会在这里构建所有的Controller,只构建我想要预先加载的Controller。有些是后来的延迟加载。我还在这里实例化了一个Backbone.Router,并传入了对我的应用程序对象的引用:vartheApp=newTP.Application();theApp.addRegions({navRegion:"#
这可能吗?继续阅读关于此的相互矛盾的报道。我有一个Marionette应用程序,刚刚升级到2.4.4。如果我用lodash代替下划线-使用requireJS,map:{'*':{'underscore':'lodash'}},//'underscore':'/resource/vendor/backbone.marionette/underscore','lodash':'/resource/vendor/lodash/lodash.min',我收到以下错误...UncaughtTypeError:Cannotreadproperty'vent'ofundefinedlodash加载正
我看到了Capturescrolleventondiv票,但解决方案不一定适合我。我有一个通过CompositeView呈现集合的JSFiddle,但无法触发滚动事件(构建无限滚动):http://jsfiddle.net/franklovecchio/FkNwG/300/.如何让scroll正确触发? 最佳答案 第一个滚动事件仅适用于溢出的元素:scroll/auto。在您的情况下,它是#region-content而不是#container。但是修复事件的选择器将不起作用,因为Backbone使用jquery.delegate(
假设我已经为Backbone.js和Marionette.backbone.js精心编写了这段JavaScript:(function(){varApplication;$(function(){Application=newBackbone.Marionette.Application();Application.addRegions({top:"#top",middle:"#middle",bottom:"#bottom"});vartopLayout=Backbone.Marionette.ItemView.extend({template:"#tpl_topLayout",ta
在显示、隐藏和重新显示Marionette布局时遇到问题。我相信这个问题也适用于常规的BackboneViews和MarionetteItemViews。总而言之,我有一个父View。初始化时,它会创建两个子布局,用作选项卡内容。问题是,当显示一个选项卡的选项卡内容时,会显示另一个选项卡的内容,当再次显示原始选项卡内容时,事件不再起作用。子布局在父布局的initialize函数中创建并重新使用,因为当导航移回它们时需要保留它们的状态。这是一个sampleapplication这证明了我在说什么:这是一个显示损坏事件的视频:VideoLink非常感谢! 最佳答
我使用以下代码手动将View附加到模板中的dom元素:appendHtml:function(collectionView,itemView,index){collectionView.$("ul#search_list_container").append(itemView.el);}在我的模板中我有:尽管我将View附加到ul#search_list_container,但我有默认的div包装模板:idinvoice_number有没有办法避免显示默认标签“div”?我对此没有问题,但每当我想出这个例子时,这个疑问总是浮现在我的脑海中。注意:我有一个用于ulcompositeVie
如果我有一个JavaScript前端应用程序,处理权限/ACL的最佳/常见做法是什么。比如我想显示/隐藏一些元素等。当然,它不安全,但仍然在View层上,我该如何控制。我使用BackboneJS(与Marionette)作为客户端框架,因此使用jQuery、Underscore等。我在高层次上思考,我可以尝试以某种方式禁用一些路由。需要一些研究,但我可以做Router.on("route",checkPermissions)。然后在View层上,隐藏/显示元素,......仍然不确定如何最好地处理这个。我需要将一些权限对象传递到模型中...... 最佳答案