草庐IT

backbone_blueprints

全部标签

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之间

javascript - Coffeescript 类扩展比 Backbone 扩展更膨胀

我才刚刚开始学习Coffeescript,无法找到我为什么要使用的明确答案classModelextendsBackbone.ModelurlRoot:'//some/url'编译为Model=(function(_super){__extends(Model,_super);functionModel(){_ref=Model.__super__.constructor.apply(this,arguments);return_ref;}Model.prototype.urlRoot='//some/url';returnModel;})(Backbone.Model);相对于Mod

javascript - Backbone 模型 .toJSON() 不会将所有属性呈现为 JSON

我需要将模型的属性呈现为JSON,以便将它们传递到模板中。这是View的render()函数的样子:render:function(){console.log(this.model);console.log(this.model.toJSON());$(this.el).html(this.template(this.model.toJSON()));returnthis;},这是执行console.log(this.model)后的属性输出:created_at:"2012-04-19"id:"29"name:"item"resource_uri:"/api/v1/item/29/"

javascript - 使用 jasmine 测试 Backbone 关系模型

假设我有两个简单的固定文件,一个用于用户(1),一个用于消息(2)。消息的Backbone模型如下(3)。如果我加载“MessageFixture”,我还想获得有关消息模型中指定的用户的相关信息。使用jasmine测试套件在规范View(4)中激活此目标的正确方法是什么?详情请见(4)中的评论。(1)//UserFixturebeforeEach(function(){this.fixtures=_.extend(this.fixtures||{},{Users:{valid:{status:'OK',version:'1.0',response:{users:[{id:1,name:

javascript - 使用backbone js加载模板

我开始从事javascript开发,并使用node.js作为restAPI和使用backbone的客户端做了一个简单的项目,一切看起来都很完美,直到我想从我的js中获取我的模板。我发现了不同的方法,其中一些需要一段时间(比如一岁),但我不明白哪个更好:一个带有html代码的.js文件优点->易于加载,易于传递给下划线进行编译。缺点->换行每一行。app.templates.view="\somethingcode\";加载模板:template:_.template(app.templates.view)ExternaltemplateinUnderscore使用require.js加

javascript - 保存 Backbone 模型时究竟发生了什么?

保存Backbone模型时究竟发生了什么?这是我可以通过阅读文档拼凑出的最好结果here:model.save([attributes],[options])被调用触发“更改”事件(但前提是属性是新的)服务器收到更改通知?一旦服务器返回,就会调用“sync”事件但我是Backbone菜鸟,我相信其他人可以更好地解释。我部分只是好奇会发生什么。我也无法理解Backbone如何提出它发送到服务器的JSON对象。我有一个separateproblemJSON对象不是我想要的,但我不知道如何更改它。 最佳答案 详细过程可以引用annotat

javascript - Backbone : Saving an entire collection to non-RESTful server

我一直在浏览多篇关于如何使用非RESTful服务器保存Backbone集合的帖子,但我仍然有点困惑。我创建了一个集合,我在其中覆盖了toJSON方法来自定义我的数据以发布到我的API("/api/entity/735/request/personDelete"目前已换成jsfiddles/echo/json)。所以我创建了一个使用Backbone.sync的save方法,成功我正在注销任何类型的响应并且对象是空虚,不确定东西在哪里丢失或我做错了什么;谁能给我一些指导?只是想让这个示例正常工作,以便我以后可以使用类似的东西。JSvarPersonCollection=Backbone.C