控制器:
...
$scope.items = ItemService; // This is injected correctly, no problem here.
...
HTML:
<div ng-repeat="item in items">
<a ng-href="#/items/{{ item.id }}">{{ item.name }}</a>
</div>
我的问题是......如果我使用.$add()
(Firebase的.push()
)添加项目,我不知道如何获取自动生成的ID ...
有什么想法吗?
答案 0 :(得分:1)
结果证明你可以迭代(key, value)
,这就是诀窍:
HTML:
<div ng-repeat="(id, item) in items">
<a ng-href="#/items/{{ id }}">{{ item.name }}</a>
</div>
答案 1 :(得分:1)
除了遍历键/值之外,$ firebase中的每条记录(假设它不是原始值)都会将键附加为$id
:
<div ng-repeat="item in items">
<a ng-href="#/items/{{ item.$id }}">{{ item.name }}</a>
</div>
答案 2 :(得分:0)
这个问题在这里得到解答:https://stackoverflow.com/a/21996544/975669
答案:
angularFire $ add方法返回一个promise,当解析时,它将包含对新推送值的Firebase引用。使用该值,您可以获得UID。
$scope.tests.$add({
...your object....
}).then(function(ref) {
//this is your id
var id = ref.name();
});