Javascript 是否可以为主干集合中的新型号生成唯一id?
我有一个来自serer的主干集合,其属性为Javascript 是否可以为主干集合中的新型号生成唯一id?,javascript,backbone.js,backbone.js-collections,Javascript,Backbone.js,Backbone.js Collections,我有一个来自serer的主干集合,其属性为id和name 我从输入中获得新名称 var a = $('#newFoodtype').val(); 创建新模型并添加到集合中 var b = new app.Foodtype({ "name" :a }); this.collection.add(b); 新模型没有id属性。我知道所有型号都有id 如何生成唯一id并将其设置为新型号。 我将删除集合中的一些模型,因此collection.length是个好主意。我将把这个发送到服务器。一种解决方案
id
和name
我从输入中获得新名称
var a = $('#newFoodtype').val();
创建新模型并添加到集合中
var b = new app.Foodtype({ "name" :a });
this.collection.add(b);
新模型没有id
属性。我知道所有型号都有id
如何生成唯一id并将其设置为新型号。
我将删除集合中的一些模型,因此collection.length
是个好主意。我将把这个发送到服务器。一种解决方案是,在插入数据库期间,只发送“name”
,并在服务器上生成“id”
是否可以从客户端生成此文件
一种解决方案是,在插入数据库期间,只发送“name”
,并在服务器上生成“id”
如果将id
保存在数据库中,则应由数据库处理。切勿尝试增加最后一个id或将集合长度用作唯一标识符
临时客户端id:cid
主干为模型和视图提供了一个“客户端id”。它仅对该客户端实例是唯一的,并且在刷新后不会是唯一的。它用于在保存模型并给出其最终id之前识别模型
var newModel = Backbone.Model({ name: "new model" });
console.log(newModel.cid); // e.g.: "c123"
生成GUID
如果它不是数据库的id,而只是业务逻辑的唯一标识符,则可以生成一个冲突几率很低的GUID
看