我正在尝试使用RequireJS2.0.1。我的目标是正确加载jQuery、Underscore和Backbone。来自原文RequireJSdoc我发现作者J.Burke添加(到这个新版本)一个newconfigoptioncalledshim.然后我把这些东西写在这里:index.htmlTestingtimeTestingtimescripts/main.jsrequirejs.config({shim:{'libs/jquery':{exports:'$'},'libs/underscore':{exports:'_'},'libs/backbone':{deps:['libs
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。除了Introduction,还有其他针对初学者的backbone.js教程或学习资源吗?或Hellobackbone.js?
所以我刚刚开始使用sinon.js和jasmine.js为我正在进行的javascript应用程序编写测试。整体效果很好,但我还需要能够测试我的路由器。在当前状态下,路由器将触发大量View和其他内容,通过调用依赖于应用程序的Backbone.navigate终止当前的jasmine.js测试状态和UI交互。那么我如何测试到不同位置的路由是否有效,同时保持路由器“沙盒化”并且不允许它们更改路由?我可以设置某种模拟函数来监视pushState变化或类似的吗? 最佳答案 这是用jasmine做的一种低级方法,测试pushState是否按
我得到Cannotcall'start'ofundefinedwhencalling...Backbone.history.start()当运行一些检查时,Backbone返回对象,但Backbone.history返回未定义。这可能是什么原因?谢谢 最佳答案 Controller上有路由吗?一旦至少指定了一条路由,Backbone只会创建历史记录。更多:TypeError:Cannotcallmethod'start'ofundefined**Hmm,forsomereasonBackbone.historyisundefined
为什么tagName、id和className属性存在于主干View中? 最佳答案 如果您的View必须创建自己的元素,即如果它在实例化时没有el属性,则使用这些属性(各种原因,我可以在这件事上走得更远).因此,您将拥有一个具有IDid、类className和属性attributes的新元素。您可以找到relevantpieceofcodehere.此_ensureElement方法在View的构造函数中使用。 关于javascript-BackboneView中的tagName、id和
我真的很喜欢Backbone,但我在做看似简单的事情时遇到了最困难的事情。感谢您对以下示例的帮助。我有一个模型Criteria,我想用它来存储UI中某些项目的状态。有几个简单的属性,其中一个属性是一组ID,用于存储用户在UI中选择的标签的ID。因此,我创建了一个新实例。我将一些项目添加到标签数组。然后,我想重新开始,创建一个新实例,分配给同一个变量。但是,我的标签数组继续保存我添加到它的信息,作为第一个Criteria实例的一部分。我已经记录了下面的测试用例。Test$(function(){//SimplemodeltoholdsomestateaboutmyUI.varCriter
我是Backbone.js新手。我只是在玩弄它。我想知道模型是否与View相关。在提供的todos例如,我在addOne方法中看到,创建了一个新View并将其与新创建的模型关联并附加。window.AppView=Backbone.View.extend({//viewcodeaddOne:function(todo){varview=newTodoView({model:todo});this.$("#todo-list").append(view.render().el);}}当我尝试做类似的事情时,我收到一条错误消息“无法在未定义上找到绑定(bind)方法”。window.Tod
有没有办法为backbone.js执行的ajax请求绑定(bind)一个错误处理程序?我的情况:我随时都可能得到401(未授权),所以我需要显示登录弹窗。 最佳答案 发生错误时,Backbone的同步会触发“错误”事件。因此,您可以采取的一种方法是扩展Backbone的模型和集合对象以添加这些附加错误检查。它看起来像这样:ErrorHandlingModel=Backbone.Model.extend({initialize:function(attributes,options){options||(options={});thi
我有一个Backbone.js当用户单击模型View中的链接时我试图销毁的模型。View是这样的(伪代码,因为它是在CoffeeScript中实现的,可以在问题的底部找到)。varwindow.ListingSaveView=Backbone.View.extend({events:{'clicka.delete':'onDestroy'},onDestroy:function(event){event.preventDefault();this.model.destroy({success:function(model,response){console.log"Success";}
我想向this提出这个问题回答但我似乎不能这样做,我道歉。扩展子类的默认值反射(reflect)在父类(superclass)中。这似乎违背了目的,我更倾向于在子类中明确列出父类(superclass)的默认值以获得我正在寻找的结构。varInventory=Backbone.Model.extend({defaults:{cat:3,dog:5}});varExtendedInventory=Inventory.extend({});_.extend(ExtendedInventory.prototype.defaults,{rabbit:25});vari=newInventory