Tag: 木偶

骨干牵线木偶复合视图渲染模板

我正在尝试使用Marionette CompositeView呈现列表。 我不确定为什么渲染列表只有一个显示单词result的项目。 我期待第一个项目显示Level 1 。 这是我当前代码的小提琴: http : //jsfiddle.net/16L1hen4/ 这是我的JS,模板和数据: JavaScript的: var App = new Backbone.Marionette.Application(); App.addRegions({ mainRegion: ‘#main’ }); var TreeModel = Backbone.Model.extend({ }); var TreeCollection = Backbone.Collection.extend({ model: TreeModel, url: ‘https://api.mongolab.com/api/1/databases/backbone-tree/collections/tree?apiKey=somekey’ }); var TreeView = Backbone.Marionette.CompositeView.extend({ initialize: function() { console.log(this.collection); }, tagName: ‘ul’, template: _.template( $(‘#tree-template’).html() ) }); var treeCollection = new […]

Backbone / Marionette CollectionView – 渲染内部模板?

我使用Backbone / Marionette / Moustache很好地渲染了一个集合。 所以PersonModel和PersonView工作正常。 PersonView有一个名为PersonTemplate的小胡子模板,由我的PeopleCollection和PeopleCollectionView完美加载,并在默认tagname: “div”内呈现。 但是,我想在另一个模板中渲染这个集合,所以我可以在那里放置一些标题。 现在它基本上是: John Dave 但我希望它是: People John Dave 我知道我可以在事后用jQuery添加这些项目,但我希望避免这种情况,因为我的实际CollectionTemplate比这里给出的例子复杂得多。

在Marionette itemView上使用jquery将addClass用于此。$ el

我正在尝试在更改模型时将类添加到itemView的封闭标记中,如下所示 View.Option = Marionette.ItemView.extend({ tagName: “li”, className: “option-item clearfix”, template: optionsItemTpl, modelEvents: { “change”: “modelChanged” }, modelChanged: function() { console.log(this.$el); this.$el.addClass(‘success’); } }); 以下输出我正在尝试将类添加到的元素 console.log(this.$el); 但是没有添加课程,我只是不明白为什么会这样。

Backbone.js`model.destroy()`自定义转换?

当我使用Backbone的model.destroy() ,它似乎会自动从DOM中删除该视图。 有没有办法让我使用destroy()发送DELETE请求,但是自己从DOM中删除视图? 就像是: this.model.destroy({ wait: true, success: function(){ $(‘#myElement’).animate({ “height” : “0”, 1000, function(){$(‘#myElement’).remove()} }); } });

如何使用Backbone.Marionette处理嵌套的CompositeView?

我正在使用Backbone进入更大规模的数据结构,并遇到通过CompositeViews很好地表示数据的场合; 也就是说,CollectionViews在它们周围增加了“添加绒毛”,例如标题,按钮等。 但是,我在将CompositeViews嵌套在一起时遇到了很多困难。 使用CompositeView上的标准itemView属性来渲染另一个CompositeView似乎根本没有触发。 假设我有一个父ItemView ,如此实例化(遵循Derick Bailey的例子 ;假设这个顶级是调用集合上的初始fetch()的地方): var User = Backbone.Model.extend({}); var UserCollection = Backbone.Collection.extend({ model: User }); var userList = new UserCollection(userData); var schedulerCompositeView = new SchedulerCompositeView({ collection: userList }); schedulerCompositeView.render(); this.ui.schedulerWidget.html(schedulerCompositeView.el); 而SchedulerCompositeView看起来像这样: return Backbone.Marionette.CompositeView.extend({ template: Handlebars.compile(schedulerCompositeViewTemplate), itemView: SchedulerDetailCompositeView, appendHtml: function (collectionView, itemView) { collectionView.$(“#schedulerGroups”).append(itemView.el); } }); 最后, SchedulerDetailCompositeView : return Backbone.Marionette.CompositeView.extend({ template: […]