我正在学习使用Backbone.js进行JavaScriptMVC应用程序开发,并且在View中呈现模型集合时遇到问题。这是我想要做的:页面加载完成后,从服务器获取数据作为模型集合在View中渲染它们这就是我想要做的,这是我目前所拥有的:$(function(){"usestrict";varPostModel=Backbone.Model.extend({});varPostCollection=Backbone.Collection.extend({model:PostModel,url:'post_action.php'});varPostView=Backbone.View.e
所有这3个库都允许操作历史对象。好的,backbone做的更多,但我们只考虑它的历史部分。http://documentcloud.github.com/backbone/#Historyhttps://github.com/olivernn/davis.jshttps://github.com/browserstate/history.js这3种实现之间有什么区别? 最佳答案 History.js更像是一个polyfil,适用于native不支持HTML5pushState的浏览器,并消除pushState的不同浏览器实现之间的差
想象一个简单的主干模型window.model=Backbone.Model.extend({defaults:{name:"",date:newDate().valueOf()}})我正在尝试找到一种方法,无论提供的输入如何,模型始终以小写形式存储名称。即,model.set({name:"AbCd"})model.get("name")//prints"AbCd"=currentbehaviormodel.get("name")//print"abcd"=requiredbehavior执行此操作的最佳方法是什么?这是我能想到的所有内容:重写“set”方法使用“SantizedMo
我在官方看到的Backbone.js中的“options”是什么sourcecode并且还用于ThomasDavis的教程博客中示例代码在这里:Friends=Backbone.Collection.extend({initialize:function(models,options){this.bind("add",options.view.addFriendLi);}});我没有看到任何其他教程使用它,甚至没有提到它的文档。它确实如此,但在上下文类型的格式([选项])中,而不是在硬编码的“选项”中:options.view.addFriendLi 最佳答
给定以下代码段:varm=newBackbone.Model({name:'joshua'});m.set('name','somethingelse');如果我现在调用m.hasChanged()或m.hasChanged('name'),我会得到false。为什么?我的理解是这两个都应该返回true。m.changedAttributes()也返回false。这是一个fiddle,它说明了我正在做的和期待的事情:http://jsfiddle.net/9cvVv/88/编辑:似乎除非你通过{silent:true;}到set()方法,然后它将在您的模型上触发change事件,清除c
所以我整个下午都在thisproblem上卡住了我最终解决了。原来我分配的是el而不是$el。两者有什么区别,我应该在什么时候使用它们? 最佳答案 直接来自thedocumentation,$el是:AcachedjQuery(orZepto)objectfortheview'selement.Ahandyreferenceinsteadofre-wrappingtheDOMelementallthetime.因此,$el是el的缓存jQuery(或Zepto)版本。如果你需要在el上使用任何jQuery或Zepto方法,你可以简单
有人为我们构建了一个应用程序,向我提供了代码,以便我可以通过它,我注意到了这一点,一开始看起来还不错,甚至很高兴让收藏管理他的数据但过了一会儿我开始思考这个想法可能存在的陷阱所以:从它自己的初始化方法中获取集合的数据是一种好习惯。例如:varBook=Backbone.Model.extend({});varBooks=Backbone.Collection.extend({url:'/books',initialize:function(){//dosomelogichere//ifcollectionisempty,fetchfromserverif(this.size()==0)
我有一个使用backbone.js的情况,我有一个模型集合,以及一些关于模型的附加信息。例如,假设我要返回一个金额列表:它们有一个与每个模型关联的数量。现在假设每个数量的单位始终相同:比如夸脱。然后我从我的服务中得到的json对象可能是这样的:{dataPoints:[{quantity:5},{quantity:10},...],unit:quarts}现在主干集合没有真正的机制来将此元数据与集合本地关联,但有人在这个问题中向我建议:Settingattributesonacollection-backbonejs我可以使用.meta(property,[value])样式函数扩展集
这个问题在这里已经有了答案:Backbonejs.listenTovs.on(2个答案)关闭5年前。.on、.listenTo、.bind有什么区别?我在这里测试了它们,它们似乎做同样的事情:回调。varNewStatusView=Backbone.View.extend({events:{"submitform":"addStatus"},initialize:function(options){//using.on//this.collection.on("add",this.clearInput,this);//orusingbind://_.bindAll(this,'addS
我有一个从服务器获取模型的集合。这行得通,现在我想通过MyCollection.at(0)的id获取一个模型,我得到:child_changes:Array[0]_changing:false_currentAttributes:Object_events:Object_hasComputed:true_pending:false_previousAttributes:Objectattributes:Object_id:"50ef7a63b2a53d17fe000001"author_name:"authorname"bookmark:""info:"bookmarkdescript