草庐IT

backbone-routing

全部标签

javascript - Backbone Marionette 和 RequireJS 模块混淆——模块似乎未定义

我刚开始使用Marionette,我正在阅读并关注Marionette-AGentleIntroduction通过DavidSulc.这是一本非常好的读物,很容易理解如何使用companionrepository构建示例应用程序ContactManager.但是,我之前已经使用RequireJS建立了一个项目,想将那本书的思想和概念转化并整合到这个项目中。我实际上还没有走那么远,我想我可能对Marionette模块与AMD模块的结合使用有点困惑,这导致了undefined对象。更具体地说,让我列出app.js,listView.js和listController.js这应该是这个com

javascript - 如何从 Marionette.js ItemView 模板访问 Backbone.Model 方法?

我正在尝试使用backbone/marionette.js从.eco模板中访问模型的方法。我有一个带有day()方法的Expense模型,它使用moment.js返回“13th”;例如:classExpenseextendsBackbone.Modelday:->moment.get('date').format('Do')我可以按如下方式创建一个新的Expense,并调用day()方法:coffee=newExpense({name:"Coffee",amount:2.50,date:"2014-01-13T13:50:00Z"})coffee.day()#13th但是,尝试从以下V

javascript - Node.js 路由 : Adding route handlers to an already instantiated http server

如何将路由处理程序添加到已存在且已实例化的http服务器?我发现的所有路由器(包括express)似乎都要求将它们传递到http.createServer()方法中。例如express:varserver=http.createServer(app);我的主要标准:以类似于sockjs的方式将路由添加到现有服务器做到了。不知道正在使用的路由器(如果有的话)不依赖于现有的路由器“app”对象来添加路由(使用路由库创建一个新的就可以了)。示例:将服务器传递给SockJSvarhttp_server=http.createServer();//agnosticsockjs_server.in

javascript - 将 JSON 提要与 Backbone JS 集成

我目前正在做一个项目,在这个项目中,我在输入框中键入一个关键字,当我单击“发送”时,它会通过一个类似于(localhost/json-status.php?query=inputtext),它以json格式返回“query=”之后的任何内容。现在我已经用jQuery完成了这个,我正在尝试在backbonejs中再次做这个。$("#updateStatus").click(function(){varquery=$("#statusBar").val();varurl="json-status.php"+"?query="+query;$.getJSON(url,function(jso

javascript - Backbone 模型未定义?

我不明白为什么当我在this.model上运行this.model.fetch()而不是在view.render()中时,它会在view.intialize()中定义。define(['jquery','underscore','backbone','text!templates/example.html'],function($,_,Backbone,exampleTemplate){varexampleView=Backbone.View.extend({el:$('body'),initialize:function(){this.model.set({_id:this.opti

javascript - 如何在 Backbone.js/underscore.js 的比较器中实现多级排序?

想象一个像这样的模型/集合:varAModel=Backbone.Model.extend({defaults:{a:'astring',b:'anotherstring',c:'yetanotherstring'}});varACollection=Backbone.Collection.extend({model:AModel,comparator:function(amodel){...}});如何编写比较器来实现多级排序?我想按AModel的a属性排序,然后按其b属性排序,然后按其c属性。我拼凑了一个看起来像这样的比较器,但我想知道是否有更好/更智能的方法?comparator

javascript - underscore.js 和 backbone.js 的外部 html 模板

我可以将我的模板放在单独的.html文件中,然后在我的index.html中引用它们吗?索引.html:项目列表-tmpl.html:我试过了,但问题是它没有在index.html上显示模板,但它加载在正确的位置(使用Firebug查看)更新找到了一个可能的解决方案,但不推荐用于生产环境。 最佳答案 从http://coenraets.org/blog/2012/01/backbone-js-lessons-learned-and-improved-sample-app/#comment-35324得到这个为此创建一个单独的js文件

javascript - Backbone 这种困惑

我有以下代码:varGoalPanelView=Backbone.View.extend({//BindtothegoalpanelDOMelementel:$("#sidebar-goals"),//Initializethecollectioninitialize:function(){this.collection=Goals;this.collection.bind('add',this.appendItem);},//CreateanewgoalwhenauserpressesenterintheentergoalinputcreateOnEnter:function(e){

javascript - backbone.js 和具有多个浏览器选项卡/窗口的本地存储会覆盖数据

只是一个关于将Backbone.js与LocalStorage一起使用的非常简短的问题:我在LocalStorage中存储了一个事物列表(主干集合)。当我的网站在多个浏览器窗口/选项卡中打开并且两个窗口中的用户都向列表中添加内容时,一个窗口的更改将覆盖另一个窗口中所做的更改。如果您想自己尝试,只需使用示例Backbone.jsTodo应用:打开http://backbonejs.org/examples/todos/index.html在两个浏览器选项卡中在第一个选项卡中添加项目“item1”,在第二个选项卡中添加“item2”刷新两个选项卡:“item1”将消失,您将只剩下“item

javascript - 覆盖 Backbone.Collection.prototype.add

是否可以像这样在backbone中全局覆盖collection.add方法:Backbone.Collection.prototype._add=Backbone.Collection.prototype.add;Backbone.Collection.prototype.add=function(models,options){var=newModels=models.items;Backbone.Collection.prototype._add(newModels,options);}我使用的api始终包含下一级集合的实际模型。在items下,我发现自己覆盖了所有集合的.add方