草庐IT

backbone-boilerplate

全部标签

javascript - 如何使 Backbone.js 集合项目独一无二?

假设我有这些Backbone.js模型:varTruck=Backbone.Model.extend({});vartruck1=newTruck();vartruck2=newTruck();truck1.set("brand","Ford");truck2.set("brand","Toyota");truck3.set("brand","Honda");truck4.set("brand","Ford");然后,假设我们有一个Backbone.js集合:varTruckList=Backbone.Collection.extend({model:Truck,comparator:

javascript - backbone.js - 在不调用 fetch 的情况下使用 parse

在页面加载时,我通过thistechnique将我的数据引导到我的收藏中.这很好用,但我遇到了一个问题,我有一些子模型也需要转换。例如,我返回一个名为Book的JSON集合,每个书籍数组包含10-20个模型本身,称为Pages。如果我尝试直接访问页面,我会收到[object][object]错误,因为Backbone无法确定它是什么类型的对象。以前,当我使用fetch时,我会通过使用包含parse操作的集合来解决这个问题。在parse中,我会做类似的事情:Collection_Books=Backbone.Collection.extend({model:Model_Book,pars

javascript - 将事件委托(delegate)给 Backbone.js 中的 subview

我们都知道这样做是不好的:ItemItem...500morelistitems然后……$("ulli").bind("click",function(){...});我一直在查看大量的Backbone示例/指南,以下似乎是基于模型集合呈现包含项目的列表的标准方法。varListView=Backbone.View.extend(){tagName:'ul',render:function(){this.collection.each(function(item){varview=newListItemView({model:item});$(this.el).append(view.

javascript - 如何以 NO-RESTful 方式使用 Backbone.js?

我现在是一名前端开发人员,我有一个项目可以使用BackboneJS,而服务器端是别人写的。有没有人可以告诉我如何以非RESTful方式覆盖删除、更新、添加等操作?服务器端的URL可能是这样的:添加:www.domain.com/addBookById删除:www.domain.com/removeBookById非常感谢!! 最佳答案 主干使用Backbone.sync管理与服务器的所有通信。sync对您来说有两件重要的事情;首先,它看起来像这样:ThemethodsignatureofBackbone.syncissync(met

javascript - Backbone.js & require.js : how do I transform my models, View 和集合到 require.js 模块?

我正在使用backbone.js开发一个javascript应用程序,也就是说,为了便于开发,我以这种方式构建我的文件app|+views|LmovieRow.js|LmovieDetail.js|+models|Lmovie.js|Ltvshow.js|+collections|Lmovies.js|Ltvshows.js|+templates|LmovieList.tpl|LmovieDetail.tpl|LapplicationUI.tpl|Lapplication.js现在,有很多javascript文件要服务器提供给用户,我看到一些关于labjs或require.js的讨论,

javascript - backbone.js:自上次服务器保存以来有变化吗?

我有一个Backbone模型。使用model.set()我可以设置一个本地值,使用model.save()我可以将整个模型保存到服务器。我怎么知道自上次服务器保存以来是否有变化意味着本地版本是脏的。模型.isNew();仅当模型从未保存到服务器时才有效。 最佳答案 编辑:这个答案是在1.0版Backbone之前写的。从当前的Backbone版本(1.2.2)开始,hasChanged不再反射(reflect)“自上次保存以来”的变化。相反,它反射(reflect)了“自上次设置”以来的变化。监听变化事件或检查hasChanged。如

javascript - Backbone 获取请求是 OPTIONS 方法

我有一个BackboneCollection对象,其URL为http://localhost:8080/api/menu/1/featured。我正在尝试执行提取操作以从URL检索集合并解析它。但是,在服务器端,我看到此请求的方法类型是OPTIONS。服务器只假设支持GET方法。我不确定Backbone如何确定要使用的方法类型,以及为什么它有时会随机更改为OPTIONS方法类型。我正在使用Node.js服务器来处理请求。下面这段代码几乎就是我所做的。varFeaturedCollection=Backbone.Collection.extend({model:FeaturedConte

javascript - 将数据从 JSON 文件加载到 Backbone 集合中?

我正在尝试使用以下非常基本的代码将一些数据从本地JSON文件加载到Backbone集合中:window.Student=Backbone.Model.extend({});window.Students=Backbone.Collection.extend({model:Student,});window.AllStudents=newStudents();AllStudents.fetch({url:"/init.json"});console.log('AllStudents',AllStudents);在控制台语句中,AllStudents为空。但是init.json肯定正在加载

javascript - 从服务器获取单个 Backbone 模型

假设我有一个路线设置:'photos/:id':'showPhoto'有人与friend分享了网址:www.mysite.com/photos/12345。当他们的friend点击共享链接时,showPhoto被回调,id为12345。我无法弄清楚如何从服务器获取模型,因为即使在设置其id属性并调用fetch()时,主干认为模型isNew因此ajax请求url只是/photos而不是/photos/12345:showPhoto:(id)->photo=newmodels.Photo_id:idphoto.fetch#doesaGETto/photos,Iwouldhaveexpect

javascript - Backbone.Models this.get() 是复制整个数组还是指向内存中的同一个数组

Person=Backbone.Model.extend({defaults:{name:'Fetus',age:0,children:[]},initialize:function(){alert("Welcometothisworld");},adopt:function(newChildsName){varchildren_array=this.get("children");children_array.push(newChildsName);this.set({children:children_array});}});varperson=newPerson({name:"T