草庐IT

backbone-events

全部标签

javascript - Backbone.js 处理数组属性

我真的很喜欢Backbone,但我在做看似简单的事情时遇到了最困难的事情。感谢您对以下示例的帮助。我有一个模型Criteria,我想用它来存储UI中某些项目的状态。有几个简单的属性,其中一个属性是一组ID,用于存储用户在UI中选择的标签的ID。因此,我创建了一个新实例。我将一些项目添加到标签数组。然后,我想重新开始,创建一个新实例,分配给同一个变量。但是,我的标签数组继续保存我添加到它的信息,作为第一个Criteria实例的一部分。我已经记录了下面的测试用例。Test$(function(){//SimplemodeltoholdsomestateaboutmyUI.varCriter

javascript - 用于查看连接的 Backbone.js 模型

我是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

javascript - backbone.js ajax 请求的全局错误处理程序

有没有办法为backbone.js执行的ajax请求绑定(bind)一个错误处理程序?我的情况:我随时都可能得到401(未授权),所以我需要显示登录弹窗。 最佳答案 发生错误时,Backbone的同步会触发“错误”事件。因此,您可以采取的一种方法是扩展Backbone的模型和集合对象以添加这些附加错误检查。它看起来像这样:ErrorHandlingModel=Backbone.Model.extend({initialize:function(attributes,options){options||(options={});thi

javascript - Backbone model.destroy() 调用错误回调函数,即使它工作正常?

我有一个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";}

javascript - 在 Backbone.js 中扩展模型父类(super class)的默认值

我想向this提出这个问题回答但我似乎不能这样做,我道歉。扩展子类的默认值反射(reflect)在父类(superclass)中。这似乎违背了目的,我更倾向于在子类中明确列出父类(superclass)的默认值以获得我正在寻找的结构。varInventory=Backbone.Model.extend({defaults:{cat:3,dog:5}});varExtendedInventory=Inventory.extend({});_.extend(ExtendedInventory.prototype.defaults,{rabbit:25});vari=newInventory

javascript - Backbone.js 和 pushState

如果我在Backbone路由器中启用pushState,我是否需要在所有链接上使用returnfalse还是Backbone路由器会自动处理?是否有任何样本,包括html部分和脚本部分。 最佳答案 这是TimBranyen在他的boilerplate中使用的模式:initializeRouter:function(){Backbone.history.start({pushState:true});$(document).on('click','a:not([data-bypass])',function(evt){varhref=

javascript - 从 Backbone.js 模型中删除属性

有没有办法从Backbone中删除一个属性?型号?原因是我在保存时传递了额外的数据以执行某些操作,但随后该数据会自动添加到我的模型中文档说不要直接编辑model.attributes,所以我看到的唯一其他方法是使用set方法并将属性设置为null,但这并不理想varmyModel=newModel()myModel.save({name:'Holla',specialAttr:'PleaseRemoveme'})myModel.set({tempAttr:null})if(myModel.attributes['specialAttr']==null){alert("Modeldoes

javascript - 在调用 event.preventDefault() 之后是否有一种 [通用] 方法来调用默认操作?

这个问题是为了开发jQuery插件和其他独立的JavaScript片段,不需要为了兼容性而修改其他脚本文件。我们都知道event.preventDefault()将阻止默认事件,因此我们可以运行自定义函数。但是,如果我们想在调用默认事件之前简单地延迟怎么办?我见过各种针对特定案例的忍者技巧和变通方法来重新调用默认操作,但就像我说的,我的兴趣在于以一种通用的方式重新触发默认操作,而不是处理案例中的默认触发器-视情况而定。$(submitButton).click(function(e){e.preventDefault();//Docustomcodehere.e.invokeDefau

javascript - event.wheelDelta 返回未定义

因此,当我的灯箱打开时,我试图禁用页面上的滚动,我发现这个非常有用的脚本可以做到这一点。(http://jsfiddle.net/mrtsherman/eXQf3/3/),不幸的是,当我在自己的页面上使用它时,它也禁用了我的灯箱中的滚动。我开始使用警报调试代码,结果发现event.wheelDelta在我的页面上返回“undefined”,而在JSFiddle中,它返回-120。 最佳答案 jQuery事件处理程序中的event对象并不反射(reflect)真实的事件。wheelDelta是一个非标准事件属性IE和Opera,可通过

javascript - backbone.js - 处理用户是否登录

首先,为应用提供的静态页面应该是登录页面吗?其次,我的服务器端代码没有问题(它不会提供用户不应该看到的任何数据)。但是,如果用户未登录,我如何让我的应用知道返回登录表单? 最佳答案 我使用session概念来控制用户登录状态。我有一个像这样的SessionModel和SessionCollection:SessionModel=Backbone.Model.extend({defaults:{sessionId:"",userName:"",password:"",userId:""},isAuthorized:function()