我想我可能对Marionette.Layout的用途存在根本性的误解。我正在尝试这样的事情:布局包括两个Marinotette.ItemView:“Explode”ItemView和“PopStar”ItemView。此布局旨在始终包含这些View,因此我尝试这样做:varTheLayout=Backbone.Marionette.Layout.extend({template:'#the=layout-template',regions:{explode:'#explode-region',popstar:'#popstar-region'}initialize:function(o
我正在玩Backbone.js和Backbone.Marionette我想知道trigger和触发方法。特别是,是否有任何经验法则来决定何时使用前者或后者?例如,在我看来,事件对于DOM元素与其View之间的通信很有用。triggerMethod在Marionette中用于更新级联不同的组件,例如布局调用show方法给它的子元素(子元素响应onShow)。所以,对我来说,这与在其上调用直接方法相同。这是真的吗?触发器呢?提前致谢。 最佳答案 没有太大的区别,这只是取决于你想做什么......trigger会触发一个事件trigger
我正在开发一个基于Backbone和Marionette的应用程序。我正在使用复合View来显示一个表,现在我想一起更新多个subview,所以我想要它们的对象和模型。所以要访问它们我读了thismethod.我在复合View对象上尝试了它们,但没有一个方法有效并抛出错误消息CheckInOutCollectionView.findByIndexisnotafunction如何访问subview对象? 最佳答案 如果知道subview的索引:varchild=collectionView.children.findByIndex(0
我正在启动一个相当大的Backbone项目,现在我正在决定所有关键组件。我四处张望,多次遇到Marionette。我的问题是,什么时候使用Marionette与使用纯Backbone比较合适?我担心的是,在将整个新库添加到等式时,复杂程度会大幅上升,但如果使用Marionette的好处超过它可能值得研究。我不是在寻找基于意见的答案——只是深入了解Backbone在生产环境中的扩展程度以及Marionette增加的重量/复杂性是否值得。是否有某种可量化的方法来确定这一点?Backbone在什么时候无法扩展? 最佳答案 答案将是主观的,
我正在将一个项目从CoffeeScript迁移到ES6(使用6to5和Browserify),并且遇到了可能的限制或者我可能只是不知道正确的语法。在CoffeeScript中我可以这样做:classSomeViewextendsBaseViewtriggerMethod:Marionette.triggerMethod如何在ES6类中表达这一点?我尝试了几件事,但无论我尝试什么,它都会抛出Unexpectedtoken错误。这例如:let{triggerMethod}=Marionette;classSomeViewextendsBaseView{triggerMethod,//doe
我正在尝试使用Backbone.Marionette在渲染和关闭ItemView时设置动画。对于渲染View,这是相当简单的:MyItemView=Backbone.Marionette.View.extend({...onRender:function(){this.$el.hide().fadeIn();}...});这将使我的View在渲染时淡入。但是假设我想在关闭时淡出我的观点。beforeClose:function(){this.$el.fadeOut();//doesn'tdoanything....}这是行不通的,因为该项目在调用this.beforeClose()后立
我正在使用Backbone研究更大规模的数据结构,并遇到过可以通过CompositeViews很好地表示数据的场合;也就是说,CollectionViews在它们周围添加了“添加的绒毛”,例如标题、按钮等。但是,我在将CompositeView相互嵌套时遇到很多困难。使用CompositeView上的标准itemView属性来呈现另一个CompositeView似乎根本不会触发。假设我有一个parentItemView,这样实例化(在DerickBailey'sexample之后;假设这个顶层是调用集合上的初始fetch()的地方):varUser=Backbone.Model.ext
我已经使用backgrid开发了可编辑网格它看起来也不错。以下是我的输出:当我选中复选框并单击delete图标时,所选行将被删除。现在我还想在每一行上都有删除选项,以便用户可以直接删除该行。如何在每一行上放置删除图标?? 最佳答案 您可以制作自定义单元格。varDeleteCell=Backgrid.Cell.extend({template:_.template("PUTYOURHTMLBUTTONTEMPLATEHERE"),events:{"click":"deleteRow"},deleteRow:function(e){e
这是一个由两部分组成的问题。1)有没有更好的方法将模型异步渲染到View?我目前正在模型中使用fetch方法发出ajax请求(尽管我在初始化时明确调用它),然后使用应用程序事件呈现模板化View,vent,在调用parse方法后从模型内部发布。酷但不稳定?2)阻塞式fetch方法是否有用,是否可能?应用程序将其呈现到页面:layoutnavbarindex然后它获取模型并渲染它:layoutnavbarthing1somethingsomethingelse但是,如果我不使用vent触发器,它(预期)会呈现:layoutnavbarthing1nullnullhtml模板:navbar
我需要根据用户选择的日期是过去还是将来来设置一个BackboneView的模板,并在它的集合更改从不同日期提取数据时切换它。我该怎么做呢?我以为我可以将模板设置为一个函数,该函数根据我是否在过去返回正确的选择器字符串,但这不起作用。pR.views.ScheduleJobView=Backbone.Marionette.ItemView.extend({tagName:"tr",//NEEDAWAYTOSWITCHTHISTOOtemplate:"#schedule-job-template"});pR.views.ScheduleJobsView=Backbone.Marionett