草庐IT

Backbone-relational

全部标签

javascript - Backbone.js:模型继承导致共享数据

过去两天我一直在努力解决这个问题。出于某种原因,主干正在跨继承的子模型共享父实例数据。这是一个例子:varBase=Backbone.Model.extend({index:[]});varGroup=Base.extend({initialize:function(){this.index.push('fromgroup');}});varUser=Base.extend({initialize:function(){this.index.push('fromuser');}});varuser=newUser();console.log(user.index);//['fromus

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

我正在尝试从主干模型中完全删除一个属性。该模型被发送到一个不太灵活的API,如果我在我应该发送的属性上发送额外的属性,它就会中断,所以我需要删除一个属性,使其不再存在。我尝试了model.unset,来自thisquestion,但是当我打印出对象时,我试图删除的属性仍然在列表中,只是值为null。我需要该属性完全消失。我的基本结构是:model.unset("AttrName","silent"); 最佳答案 问题是您错误地使用了unset的参数。“Silent”应该是optionshash的一部分,不是一个单独的参数。这有效:m

javascript - Backbone 嵌套集合

我在主干网中有一个应用程序可以从服务器检索数据。这个数据是酒店和每个酒店我有更多的房间。我将酒店分为一个json和另一个json中的房间,如下所示:旅馆.json[{"id":"1","name":"Hotel1"},{"id":"2","name":"Hotel2"},{"id":"3","name":"Hotel3"}]房间.json[{"id":"r1","hotel_id":"1","name":"Singola","level":"1"},{"id":"r1_1","hotel_id":"1","name":"Doppia","level":"2"},{"id":"r1_3"

javascript - Backbone.js View 的适当粒度是多少?

我正在采用Backbone.js来渲染existinglargewebapp的一个小Angular.如果这一切顺利,我可以看到Backbone.js成长为包含整个应用程序,为有机增长的应用程序提供一些急需的结构。这就是前言。现在的问题:我有一个选择框,允许用户选择阅读计划。Whentheselectionchanges,theviewupdatessomedescriptivetext,acalendarinterface,andalittlewidgetformarkingtoday'sreadingsascomplete.该小部件将为今天条目中的每个阅读(一个或多个)都有一个复选框

javascript - backbone.js & raphäel.js/Backbone View <-> Raphäel 对象

而现在,为了一些完全不同的东西。当“dom”对象是拉斐尔对象。那行得通吗?像这样:varNodeView=Backbone.View.extend({events:{"click":"click"},click:function(){alert('clicked')},render:function(){canvas.rect(this.model.get('xPos'),this.model.get('yPos'),50,50).attr({fill:"#EEEEEE",stroke:"none",cursor:"move"});returnthis;}});我需要在raphäel对

javascript - Backbone.js _ensureElement 错误

当我想从路由器类初始化View时出现此错误。错误是:未捕获的TypeError:对象#没有方法'_ensureElement'博客表单View:App.BlogFormView=Backbone.View.extend({el:".data-form",initialize:function(){this.template=_.template($("#blog_form_template").html());this.render();},render:function(){this.$el.html(this.template({blog:this.model.toJSON()})

javascript - 在使用 jQuery 的 Backbone.js 中,在 View 中选择元素的正确方法是什么?

在下面的代码中,我有两个似乎可以正常工作的jQuery选择器。是否有理由做一个而不是另一个,或者是否有另一种首选方式?varval1=$("#username",this.el).val()varval2=$(this.el).find("#username").val();我知道不应该有多个具有相同id的元素,但是如果有多个具有相同id的元素,最好的方法是只选择View中的元素(请参见下面的用户名示例).Username:Username:LoginvarLoginView=Backbone.View.extend({el:"#login",events:{"click#loginB

javascript - 检查 Backbone.history 是否已经启动的方法?

有没有办法检查Backbone.history是否已经启动。我正在使用使用Backbone和路由器编写的View即服务。当我渲染View时出现错误Backbone.historyhasalreadybeenstarted。有没有办法避免这个错误?由于此错误,未调用外部View中附加的路由器。 最佳答案 Backbone.History.started是一个bool变量,指示History是否已启动。确保H是大写的。 关于javascript-检查Backbone.history是否已经启

javascript - Backbone.js View 无法正确取消绑定(bind)事件

我有一些将点击事件绑定(bind)到按钮的Backbone.js代码,点击后想解绑,代码示例如下:varAppView=Backbone.View.extend({el:$("#app-view"),initialize:function(){_.bindAll(this,"cancel");},events:{"click.button":"cancel"},cancel:function(){console.log("dosomething...");this.$(".button").unbind("click");}});varview=newAppView();但是解除绑定(

javascript - 模型更新时的 Backbone 渲染 View

我正在使用backbone.js编写示例应用。在更新我的模型时,我以这种方式重新渲染我的View$('.target').html("");$('.target').append(this.$el.html(this.template(model)))一旦View在模型更新后重新呈现[onchangeevent],附加到el子级的事件就会丢失[不像jQuery直播]。这是一个已知问题还是我遗漏了什么?我应该尝试替换html而不是append吗?fiddle 最佳答案 一旦View在DOM中,您就不需要继续删除和附加它。我认为最简单的