草庐IT

Backbone-relational

全部标签

javascript - Backbone Marionette : Defer view close until beforeClose animation is complete

我正在尝试使用Backbone.Marionette在渲染和关闭ItemView时设置动画。对于渲染View,这是相当简单的:MyItemView=Backbone.Marionette.View.extend({...onRender:function(){this.$el.hide().fadeIn();}...});这将使我的View在渲染时淡入。但是假设我想在关闭时淡出我的观点。beforeClose:function(){this.$el.fadeOut();//doesn'tdoanything....}这是行不通的,因为该项目在调用this.beforeClose()后立

javascript - "Backbone.Model.extend() is not a function",我做错了什么?

我对Backbone很感兴趣,因此决定打开一个jsFiddle来玩一玩。不幸的是,我不断收到此错误:Backbone.Model.extendisnotafunction我的代码:varModel=Backbone.Model.extend();我从Backbonetutorial得到这段代码.Thefiddle.我做错了什么? 最佳答案 您需要包括underscore.js在backbone.js之前,就像在你的fiddle的这个更新版本中一样:http://jsfiddle.net/ambiguous/AFmQ2/1/来自fin

javascript - 如何根据模型属性为 Backbone.js View 动态设置类名?

基本上我需要的是做这样的事情App.CommentView=Backbone.View.extend({className:function(){if(this.model.get('parent_id')){return'commentcomment-reply';}else{return'comment';}},问题是,传递给className的函数是在View模板的html上下文中执行的,所以我无法调用this.model。有什么方法可以在渲染过程中的此时访问模型?或者我是否需要稍后设置类,例如在render函数中? 最佳答案

javascript - backbone js,更新模型更改 View

为什么我的View没有更新?table,td{border:1pxsolid#000;}varrowTemplate="";/**Viewrepresentingatable*/varTableView=Backbone.View.extend({tagName:'table',initialize:function(){_.bindAll(this,'render','renderOne');if(this.model){this.model.on('change',this.render,this);console.log(this.model);}},render:functio

javascript - Backbone.js 应用程序能否逐步增强并可被搜索引擎抓取?

我需要为我的下一个项目实现一个MVCJavaScript框架,但它既是一个网站,也是一个网络应用程序。是否可以在服务器端公开数据,然后解析URL以显示“JS版本”?(我计划将Rails用于服务器端代码) 最佳答案 我写了一个关于这个主题的小型博客系列......第一部分介绍问题和之前的解决方案,以及目前的解决方案:HTML5的PushState(historyAPI)http://lostechies.com/derickbailey/2011/09/26/seo-and-accessibility-with-html5-pushs

javascript - 覆盖 Backbone.sync 但保留其以前的功能

我想覆盖Backbone.sync,但也希望在添加后运行原始的Backbone.sync功能。我想有点像在Java中对父类(superclass)调用super。除了复制所有以前的代码之外,还有其他方法可以做到这一点吗? 最佳答案 在JavaScript中,您可以将任何属性或方法存储在变量中。以下示例将Backbone.sync分配给另一个变量,然后在函数结束时使用传递给新Backbone.sync函数的所有变量调用它。varoriginalSync=Backbone.sync;Backbone.sync=function(){//

javascript - Backbone.js 如何连接 View 和 Model

我正在尝试通过以下示例学习backbone.js。然后卡在了点上ItemView=Backbone.View.extend为什么可以使用this.model.get?我认为这是指将要创建的ItemView实例。那为什么ItemView会有模型属性呢?!!(function($){varItem=Backbone.Model.extend({defaults:{part1:'hello',part2:'world'}});varList=Backbone.Collection.extend({model:Item});varItemView=Backbone.View.extend({t

javascript - Backbone.js 更新集合中的模型

假设您正在使用Backbone.js构建一个Twitter克隆。您有一组推文。每条推文显然都是推文模型的一个实例。您创建集合的一个实例,获取最新的10条推文,呈现它们并添加到DOM。到目前为止一切顺利。如果您想在几分钟后调用服务器以查看是否有新推文到达怎么办?如何将新到达的推文添加到集合中?如果您使用fetch()方法,您将一直访问同一个URL。没关系。有没有一种聪明的方法可以让我使用Backbone/Underscore过滤那些推文并将不在集合中的推文添加到集合中? 最佳答案 让我们假设您的每条推文都有一个唯一标识符(如果没有,您

javascript - 具有动态 ID 的 Backbone View

我刚刚意识到我误解了Backbone.View的el属性。基本上,我的View需要基于其模型属性的动态id属性。我认为我可以正常工作,因为我只是在我的模板中指定了它:{{name}}但是,我意识到Backbone实际上在做的是将这个编译后的模板默认放入另一个元素div中。我通过阅读文档了解了更多相关信息,但我仍然对如何创建动态id感到困惑。最好,我很想找到一种方法,使上面模板中的内容成为我的el,因为它已经拥有我想要的一切,但我不知道是否这是可能的。所以我想知道,是否有一种方法可以指定动态id属性。我尝试在initialize方法中设置它,this.id=this.model.get(

javascript - 使用 Backbone.js 路由器进行路由而不是使用服务器端代码的原因

我何时以及为什么要使用Backbone.js路由器进行路由而不是通过服务器端代码进行路由?有人可以详细说明一下吗,因为这是我第一次在客户端进行路由。 最佳答案 您提出了错误的二分法。现实情况是,永远可能不会出现您使用Backbone的路由器代替服务器端解决方案的情况。也就是说,使用客户端路由器(不特别是Backbone的路由器)来创建单页应用程序的趋势肯定在增长——例如Ember.js.以下是您的选择:仅服务器端路由这是经典方法,是Rails等框架的重要组成部分。这是一种成熟的策略,可以在您的模型、View和Controller之间