我需要根据用户选择的日期是过去还是将来来设置一个BackboneView的模板,并在它的集合更改从不同日期提取数据时切换它。我该怎么做呢?我以为我可以将模板设置为一个函数,该函数根据我是否在过去返回正确的选择器字符串,但这不起作用。pR.views.ScheduleJobView=Backbone.Marionette.ItemView.extend({tagName:"tr",//NEEDAWAYTOSWITCHTHISTOOtemplate:"#schedule-job-template"});pR.views.ScheduleJobsView=Backbone.Marionett
我正在Backbone.js中创建一个应用程序,它有一个父View和多个subview。subview包含它们收听并执行功能的链接。父View存储所有subview的列表。在渲染函数中,在计算完自己的html后,它会执行以下操作:$(this.el).html(html);for(vari=0;i回答:问题是我在渲染过程中创建了链接。IE。在第一个渲染(从init调用)上,事件成功绑定(bind)到链接。但是,由于所有后续的render调用都会重新创建整个元素,因此新链接没有绑定(bind)处理程序。这是通过将this.delegateEvents()添加到渲染中的@TomTu解决方案
我正在尝试从本地API填充我的Backbone集合并更改View以显示数据。我的集合中的fetch()调用似乎成功了,并获取了数据,但获取操作不会更新集合中的模型。这是我的模型和收藏集:varBook=Backbone.Model.extend();varBookList=Backbone.Collection.extend({model:Book,url:'http://local5/api/books',initialize:function(){this.fetch({success:this.fetchSuccess,error:this.fetchError});},fetc
作为Backbone.js的新手,只是想阐明完成这个简单任务的正确方法。开发Web应用程序时,几乎总是会有用户帐户,用户可以在其中登录到您的应用程序并查看他们的个性化数据。通常,他们的页面可能会显示一些小部件、他们的用户信息(名称、头像等)。现在为每个小部件创建一个模型并将它们分组到一个集合中是一个简单的概念。但是,他们的用户信息是否会存储在一个单独的模型中,而不是集合的一部分?如果是这样,它是如何与应用程序的其余部分联系起来的?原谅我的无知,但我还没有遇到任何不解释模型不在集合中使用它们的示例(用户和用户、狗、猫和动物等)无论如何,对于冗长的解释感到抱歉。我会寻找任何资源来让我开始制
好的,所以我已经阅读了其他几个关于BackboneView和事件未被触发的问题,但我仍然没有得到它。我已经和Backbone打交道了大约一天,所以我确信我遗漏了一些基本的东西。这是我正在使用的jsfiddle:http://jsfiddle.net/siyegen/e7sNN/3/(function($){varGridView=Backbone.View.extend({tagName:'div',className:'grid-view',initialize:function(){_.bindAll(this,'render','okay');},events:{'click.g
有点奇怪,我有点困惑......我有一个页面,该页面上有以下内容(好吧,有一些名称更改):$(document).ready(function(){varrouter=newApp.Routers.ExampleRouter();Backbone.history.start({pushState:true});})路由器继续实例化一些集合、View等。在Chrome、Safari、Firefox和Opera中一切正常。但不是在IE8或9(也可能是10,我还没有测试过)。在IE8或9中,当第一次请求页面时,它开始加载,但是一旦文档准备好(因此路由器实例化并启动历史记录),页面就会重定向到
我正在尝试使对象文字数组与服务器数据保持同步。这些对象通过backbone.googlemaps扩展被放置在谷歌地图上。我有一个收藏:varLocationList=Backbone.Collection.extend({model:Location,url:'/locations'})如何从这个LocationList集合中获取对象文字数组?我的目标是这样的:[{name:"Home",address:"123PleasantSt"},{name:"Work",address:"123UnpleasantSt"}] 最佳答案 您正
我正在尝试将TypeScript与Backbone.js结合使用。它“有效”,但是Backbone的get()和set()失去了大部分类型安全。我正在尝试编写一个可以恢复类型安全的辅助方法。像这样:我会把它放在我的模型中:object():IMyModel{returnattributes;//exceptIshoulduseget(),notattributes,perdocumentation}这在消费者中:varmyVar=this.model.object().MyProperty;通过这种语法,我得到了TypeScript的知识,即MyProperty存在并且是bool,这太
有问题的集合抓取了一堆friend,然后它使用reset来保存所有新friend。我遇到的问题是,它只会将1个friend添加到收藏中。我在cModels上做了一个console.log,它在数组中显示了300多个对象,所以我知道不只有1个。任何原因重置只会加1吗?这是我的收藏:FriendsCollection=Backbone.Collection.extend({model:UserModel,getFriends:function(){$.post(baseUrl+dataFriendsUrl,$.proxy(function(data){varfriends=$.parseJ
我一直在尝试将处理程序附加到我的一个主干View中的调整大小事件。在做了一些研究之后,我发现您只能将事件附加到View的元素或其后代。这对我来说是个问题,因为我尝试实现的视觉效果使用纯CSS是不可能的,并且需要一些JS来根据窗口减去标题元素来设置内容区域元素的尺寸。如果您无法想象我正在尝试做的事情,请想象一个薄的标题和一个必须占据剩余空间且没有CSS背景技巧的内容区域。define(['jQuery','Underscore','Backbone','Mustache','text!src/common/resource/html/base.html'],function($,_,Ba