0

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

Firebase 数据中的所有示例都有漂亮的 API 名称,例如 user/name/first

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

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

前任。我创建了一个名为 slug 的密钥。收藏中有“我的主题”。我想通过 $routeParams 加载它。

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

我如何将对象加载到主题/我的主题而不是主题/-J50neNBViK9l7P4QAYc

提前致谢...

4

1 回答 1

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;
  }
}
于 2013-10-08T18:01:45.293 回答