Javascript 在ng grid和firebase/angularFire上添加行时,是否有方法使用增量ID(例如0,1,2,3,4)?
当我向我的ng grid&firebase中植入一些数据时,如下所示:Javascript 在ng grid和firebase/angularFire上添加行时,是否有方法使用增量ID(例如0,1,2,3,4)?,javascript,angularjs,firebase,ng-grid,angularfire,Javascript,Angularjs,Firebase,Ng Grid,Angularfire,当我向我的ng grid&firebase中植入一些数据时,如下所示: var app = angular.module('app', ['firebase', 'ngGrid']); var fb = new Firebase('https://mybase.firebaseio-demo.com/'); fb.set([ {name: "Moroni", age: 50}, {name: "Tiancum", age: 43}, {name: "Jacob", ag
var app = angular.module('app', ['firebase', 'ngGrid']);
var fb = new Firebase('https://mybase.firebaseio-demo.com/');
fb.set([
{name: "Moroni", age: 50},
{name: "Tiancum", age: 43},
{name: "Jacob", age: 27},
{name: "Nephi", age: 29},
{name: "Enos", age: 34}
]);
app.controller('ctrl', function($firebase, $scope, orderByPriorityFilter) {
$scope.data = $firebase(fb);
$scope.myData = [];
$scope.$watchCollection('data', function() {
$scope.myData = orderByPriorityFilter($scope.data);
});
$scope.gridOptions = { data: 'myData' };
});
然后,当我允许用户/尝试添加新行时,他们自己可以填充并使用该行:
$scope.addRow = function () {
$scope.myData.push({name: ' ', age: ' '});
$scope.data.$add({name: ' ', age: ' '});
}
addRow()
位于ng click=“addRow()”
现在的问题是fb.set({})
方法使用增量数字键(如0,1,2,3,4,5等)添加数据,但是addRow()
方法在fb.set({})
上添加数据,但使用类似“htGDHfdgRWS”的firebase键
在添加行时,是否有一种方法可以使用增量ID?:) 增量数字ID在分布式环境中很棘手,因为有多个客户端试图同时编辑数据。相反,Firebase通过
push
方法(或者,在AngularFire中,$add
方法)提供了更强大的原语。默认情况下,这些ID是按时间顺序递增的,不会与尝试写入同一位置的其他客户端发生冲突
<>我强烈考虑使用这些自动生成的IDS,然后将它们映射到适当的网格。