从firebase数组RESTful路由到单个firebase对象

时间:2015-10-23 00:45:26

标签: angularjs firebase angularfire

我对使用angularfire如何使用angular / firebase做一个非常非常微不足道的模式感到困惑。

想象一下,你有一个小老的博客。你有一些$ scope.posts,你重复它们。现在,您希望能够点击一个帖子并将其路由到该帖子的页面'/ posts /:id'。由于$ firebaseArray元素不包含$ id的如何将单个帖子的唯一ID传递给url并传递到postsCtrl

<a ng-repeat="post in posts href="/posts/{{??????}}">{{post.title}}</a>

更新

我想到的解决方法是每当我保存一个新帖子时,我可以保存一个名为“key”的属性,然后按照我通常在其他框架中使用“id”属性的方式使用它。

$firebaseArray(postsRef).$add($scope.post).then(function(ref) { ref.update({ key: ref.key()}); });

然而,这种黑客不能解决这种简单,琐碎,传统的模式。

感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

你的本能是正确的,黑客不是答案。而是使用angular的内置(键,值)选项进行ng-repeat:

<div ng-repeat="(id, post) in posts">
    <a ng-href="/posts/{{post.id}}">{{post.title}}</a>
</div>

有关如何将AngularFire与ng1一起使用的其他参考资料可在此repo

中观察到