草庐IT

Backbone-relational

全部标签

javascript - Backbone.js 路由器和 Internet Explorer 重定向问题

有点奇怪,我有点困惑......我有一个页面,该页面上有以下内容(好吧,有一些名称更改):$(document).ready(function(){varrouter=newApp.Routers.ExampleRouter();Backbone.history.start({pushState:true});})路由器继续实例化一些集合、View等。在Chrome、Safari、Firefox和Opera中一切正常。但不是在IE8或9(也可能是10,我还没有测试过)。在IE8或9中,当第一次请求页面时,它开始加载,但是一旦文档准备好(因此路由器实例化并启动历史记录),页面就会重定向到

javascript - Backbone.js - 如何从集合中获取对象文字数组?

我正在尝试使对象文字数组与服务器数据保持同步。这些对象通过backbone.googlemaps扩展被放置在谷歌地图上。我有一个收藏:varLocationList=Backbone.Collection.extend({model:Location,url:'/locations'})如何从这个LocationList集合中获取对象文字数组?我的目标是这样的:[{name:"Home",address:"123PleasantSt"},{name:"Work",address:"123UnpleasantSt"}] 最佳答案 您正

javascript - Backbone 和 TypeScript,一段不幸的婚姻 : Building a type-safe "get"?

我正在尝试将TypeScript与Backbone.js结合使用。它“有效”,但是Backbone的get()和set()失去了大部分类型安全。我正在尝试编写一个可以恢复类型安全的辅助方法。像这样:我会把它放在我的模型中:object():IMyModel{returnattributes;//exceptIshoulduseget(),notattributes,perdocumentation}这在消费者中:varmyVar=this.model.object().MyProperty;通过这种语法,我得到了TypeScript的知识,即MyProperty存在并且是bool,这太

javascript - 为什么我的 backbone.js 集合重置只添加了 1 个模型

有问题的集合抓取了一堆friend,然后它使用reset来保存所有新friend。我遇到的问题是,它只会将1个friend添加到收藏中。我在cModels上做了一个console.log,它在数组中显示了300多个对象,所以我知道不只有1个。任何原因重置只会加1吗?这是我的收藏:FriendsCollection=Backbone.Collection.extend({model:UserModel,getFriends:function(){$.post(baseUrl+dataFriendsUrl,$.proxy(function(data){varfriends=$.parseJ

javascript - 如何使用 Backbone 将调整大小事件添加到 View 中的窗口?

我一直在尝试将处理程序附加到我的一个主干View中的调整大小事件。在做了一些研究之后,我发现您只能将事件附加到View的元素或其后代。这对我来说是个问题,因为我尝试实现的视觉效果使用纯CSS是不可能的,并且需要一些JS来根据窗口减去标题元素来设置内容区域元素的尺寸。如果您无法想象我正在尝试做的事情,请想象一个薄的标题和一个必须占据剩余空间且没有CSS背景技巧的内容区域。define(['jQuery','Underscore','Backbone','Mustache','text!src/common/resource/html/base.html'],function($,_,Ba

javascript - backbone.js 更改模型的 url 参数并且获取不更新获取的数据

我有以下模型:window.MyModel=Backbone.Model.extend({initialize:function(props){this.url=props.url;}parse:function(){//@override-parsingdatafetchedfromURL}});//instantiatevarmod=newMyModel({url:'some/url/here'});我使用这个全局变量“mod”从后端获取一些数据到这个模型中。//fetchmod.fetch({success:function(){...},error:...});以上都很好用..

javascript - 如何跟踪 Backbone.js 中的路由器更改事件

每次应用程序在Backbone.js中切换URL时,我都需要运行一个函数,并且我需要知道URL已更改为的主题标签。我假设有一个我可以绑定(bind)到的事件,但我一直无法弄清楚要绑定(bind)到哪个事件和哪个对象。具体来说,我想将新URL发送到分析应用程序。 最佳答案 我知道这是一篇旧文章,但就像@kirk所建议的那样,Backbone.js已经构建了它。Backbone.history.on("all",function(route,router){//console.log(window.location.hash);});我

javascript - 服务器应该如何响应 Backbone 同步

关于backbone.js的一些新手问题'save和sync.在调用保存/同步功能后,Backbone期望从服务器得到什么类型的响应?收到响应后是否需要进行具体的后处理?backbone如何知道服务器上是否已经存在该模型?从文档中我看到每个模型都有一个isNew检查是否有“id”。所以“id”是来自服务器的id,而“cid”是backbone为每个模型创建的。正确的?如果是这样,服务器通知Backbone模型的id的一般步骤是什么,何时:a)首先创建并同步模型,b)随后在获取模型时,c)或者当模型在页面加载时填充?感谢您的帮助。 最佳答案

javascript - 如何删除 Backbone 模型客户端?

删除模型客户端的最佳方法是什么?我不需要担心在服务器端删除它。我如何确保它在所有地方都被删除,避免每一个陷阱,每一个僵尸绑定(bind)。我正在寻找删除和销毁所有内容并确保模型被垃圾收集的指南。谢谢!! 最佳答案 这真的取决于这个模型里面有什么。如果它绑定(bind)到来自其他实例(View/Collection/Models)的事件,您应该手动删除这些事件监听器,因为无法一次删除所有事件。此外,Model.destroy()从任何集合(Backbone文档)中删除模型:Destroymodel.destroy([options])

javascript - Backbone.js 查看实例变量?

我正在学习Backbone.js并试图弄清楚是否可以在BackboneView中使用实例变量。我的目标是在实例化View时从外部文件加载View的模板。目前我将它们存储在Backbone应用程序的全局命名空间中的全局变量中,但将模板存储在View的实例变量中会更清晰。目前我是这样设置的:vartemplates={};MessageView=Backbone.View.extend({initialize:function(){$.get('js/Test2Templates.tpl',function(doc){vartmpls=$(doc).filter('template');t