我一直在玩AngularFire,我理解集合的文档。但是当我在集合中加载特定项目时,除了数组中的位置之外,我觉得我完全错过了一些东西。
Firebase数据中的所有示例都有类似用户/名称/第一个
的api名称但是当我使用angularFireCollection来保存集合时,我将我的对象放在一个唯一的$ id中。 (不那么漂亮)
这是预期的行为吗?如果是这样,我将如何获得()基于值的项目?
离。我创建了一个名为slug的键。这个系列中有'my-theme'。我想通过$ routeParams加载它。
.when('/themes/:slug/', {
templateUrl: 'views/theme.html',
controller: 'ThemesCtrl'
})
如何将对象加载到themes / my-theme而不是themes / -J50neNBViK9l7P4QAYc
提前致谢...
答案 0 :(得分:1)
angularFireCollection会自动创建一个包含自动生成的增量ID的项目列表(由Firebase的push()方法生成)。如果要创建具有自定义名称的项目列表,angularFire可能是更好的服务(它使用set而不是push)。例如:
function ThemesCtrl($scope, angularFire) {
$scope.themes = {};
angularFire(new Firebase(URL), $scope, 'themes');
$scope.addTheme = function() {
$scope.themes["my-theme"] = $scope.currentTheme;
}
}