草庐IT

Backbone-relational

全部标签

javascript - 构建 Backbone.js 项目的好方法是什么?

我们目前正在启动第一个Backbone.js在这里工作的项目。事实上,这是我们除了奇怪的jQuery之外的第一个主要JavaScript项目。无论如何,我们都在为我们的东西的架构而苦苦挣扎。整理东西的最佳方法是什么?我们已经开始将所有内容都放在单独的文件中,然后分解到文件夹中;View、模型、集合和路由器,然后我们将所有内容都包含在我们的index.html中。但是,问题在于这让我们不得不检查每个文件中的文档就绪事件。这是最好的方法吗?这是一个例子:这是名为PageModel的文件,第一行似乎有误...$(function(){app.models.Page=Backbone.Mode

backbone.js - 访问父主干 View 的属性

我有一个调用subview的主干View:lr.MapView=Backbone.View.extend({el:$('#map'),foo:"bar",initialize:function(){varthat=this;_.bindAll(this,"render","addAllEvents","addOneEvent");this.collection=newlr.Events();this.collection.fetch({success:function(resp){that.render();that.addAllEvents();}});},addAllEvents:

javascript - 如何从 Backbone.LocalStorage 获取 Backbone.Collection

假设我可以从javascript控制台获得以下结果:varls=newBackbone.LocalStorage("items");ls;//{"name":"items","records":["1244f588-be3d-c493-5c86-b2abb997af82"]}我应该如何从Backbone.LocalStorage中获取Backbone.Collection?附言:该系列看起来像[{"title":"test","completed":false,"order":1,"id":"1244f588-be3d-c493-5c86-b2abb997af82"},{"title"

javascript - 初始化后添加 backbone.js 事件

这段代码没有太多上下文,但可以说明我的问题。这是一个在AMD模块中定义的主干View,我用它通过require.js加载本质上,我希望能够在运行初始化后将事件添加到BackboneView。目前我正在制作一个空的事件对象,然后在一个名为addView的方法中,每次调用该函数时我都会添加一个事件。这目前不起作用。我不确定事件是在什么时候注册的,但我怀疑当events对象更改时,我必须以某种方式获取View以更新它的监听器?有人知道我如何在初始化后向Backbone.js添加事件吗?define(['jQuery','Backbone'],function($,Backbone){varc

javascript - 带 OR 条件的 Backbone 集合 where 子句

我已经搜索了很长时间,但无法找到带有or条件的where子句的方法。例如,如果我有一个集合Cars并且我尝试执行以下操作:Cars.where({model:1998,color:'Black',make:'Honda'})所以上面的代码将搜索car其model是1998ANDcolor是BlackANDmake是Honda。但我需要一种方法来获得满足三个条件之一的汽车。 最佳答案 Cars.filter(function(car){returncar.get("model")===1998||car.get("color")===

javascript - 使用 Backbone.JS 在服务器和客户端之间共享常量的最佳实践

使用Backbone.JS处理服务器代码和客户端代码之间共享常量的最佳方法是什么?例如,假设我有这张用户Angular色图:user_roles={1=>"member",2=>"moderator",3=>"admin"}显然,如果您在客户端和服务器端的代码中复制这些定义,则扩展性不佳且容易出错。我想出的解决方案是简单地将这些定义公开为Backbone.Collection或Backbone.Model并从服务器获取它们,但如果您有大量常量类型,这可能会导致不必要的开销,而且我'我不确定它们是否真的属于模型。解决这个问题有哪些不同的解决方案,它们的扩展性如何?

javascript - Backbone.history.navigate(url,{trigger :true, replace: true})

我使用这种方法导航到url,触发事件而不是将url推送到浏览器历史记录。但是Backbone.history.navigate(url,{trigger:true,replace:true})替换历史记录中以前的url。示例:浏览器历史之前本地主机:端口/urlBackbone.history.navigate(url+'/list',{trigger:true,replace:true})预期:在路由url+'/list'和浏览器历史记录localhost:port/url上触发事件实际上:触发事件但浏览器历史记录localhost:port/#url/list。以前的url被替换

GO GORM .Related() 构造不适用于非默认主键名称。

使用“默认”主键命名约定时:POSTGRES表CREATETABLEperson(idSERIAL,namevarchar(255)NOTNULL,CONSTRAINTperson_pkPRIMARYKEY(id))CREATETABLEemail(idSERIAL,person_idintNOTNULLREFERENCESperson(id),CONSTRAINTemail_pkPRIMARYKEY(id))根据示例,此.Related()构造工作正常:typePersonstruct{IDintNamestringEmails[]Email}typeEmailstruct{IDin

postgresql - gorm+go+pg : query for related

所以我们有一个有名字的人。名字和姓氏。让我们插入带有名字和姓氏的Person并再次按Name.First查询Person。怎么办?packagemainimport("fmt""log""github.com/jinzhu/gorm")var(pgHoststringpgUserstringpgDatabasestringpgPassstring)typePersonstruct{gorm.ModelName*NameNameIDuint}typeNamestruct{gorm.ModelPersonIDuintFirststringLaststring}funcmain(){//le

sql - 如何映射m :n relation to slice field?

我有一个结构Person:typePersonstruct{Idint64NamestringColors[]string}它应该从person表中获取数据:id|name---------1|Joe2|Moe和一个person_color表:person_id|color-----------------1|black1|blue2|green通过SELECTp.id,p.name,pc.colorFROMpersonASpINNERJOINperson_colorASpcONpc.person_id=p.id我将两个表合并到:id|name|color---------------