在我的实时数据库中创建项目之后,我试图导航到特定ID。
该文档提供了一种解决方案,但它不能按所示方式工作。
在数据库引用上使用push()。set()方法后,我尝试创建一个回调函数,该函数将获取使用push。()。set()方法创建的特定ID,然后使用该ID进行导航。 / p>
db.ref.push().set({
...
}).then(function(){
router.navigate(ref/ + db.ref.key /)
})
在该参考点创建新对象后,我想使用firebase创建的ID来导航到使用该ID的特定路由。
答案 0 :(得分:2)
问题在于db.ref.push()
返回具有唯一ID的 new 引用对象。您没有获得该ID的值。您可以重构事物,使其类似于:
let newref = db.ref.push();
newref.set({
...
})
.then( () => {
// You can use "newref" here
// The last part of the full reference path is in "key"
let id = newref.key;
// Do something with the id as part of your route
});
答案 1 :(得分:1)
设置
设置( value , onComplete )=>返回firebase.Promise包含void
因此,您绝对应该能够通过回调看到操作已解决,但绝对没有错。
但是您应该可以链接此事件:
db.ref.push().set({
...
}).getKey().then(data => console.log(data))