【问题标题】:AngularFire objectsAngularFire 对象
【发布时间】:2013-10-09 02:01:45
【问题描述】:

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

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

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

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

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

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

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

提前谢谢...

【问题讨论】:

  • 我放弃了使用 Firebase javascript API 的 AngularFire,它运行良好。使用 set() 而不是 push()。应该注意的是,只有在没有重复 ID 的机会的情况下才可以这样做......

标签: angularjs firebase angularfire


【解决方案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-04-22
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2017-06-03
    • 1970-01-01
    相关资源
    最近更新 更多