AngularFire对象

时间:2013-10-04 07:12:36

标签: angularjs firebase angularfire

我一直在玩AngularFire,我理解集合的文档。但是当我在集合中加载特定项目时,除了数组中的位置之外,我觉得我完全错过了一些东西。

Firebase数据中的所有示例都有类似用户/名称/第一个

的api名称

但是当我使用angularFireCollection来保存集合时,我将我的对象放在一个唯一的$ id中。 (不那么漂亮)

这是预期的行为吗?如果是这样,我将如何获得()基于值的项目?

离。我创建了一个名为slug的键。这个系列中有'my-theme'。我想通过$ routeParams加载它。

.when('/themes/:slug/', {
    templateUrl: 'views/theme.html',
    controller: 'ThemesCtrl'
  })

如何将对象加载到themes / my-theme而不是themes / -J50neNBViK9l7P4QAYc

提前致谢...

1 个答案:

答案 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;
  }
}