Angular / Firestore - 获取由 'add' 方法创建的 ID 以在路由器导航中使用
Angular / Firestore - Fetching the ID created by the 'add' method to use in a router navigate
我在用什么
- Angular
- FireStore
我想要实现的目标
使用 'add' 方法创建新项目
导航到包含由 'add' 方法生成的新 ID 的 URL
问题
- 我可以创建新项目了
- 不知道如何获取新建item的id
- 我一直以我所在页面的 ID 结尾
问题
- 如何在创建新项目并在路由器中使用它时获取新项目的 ID link?
组件 TS
如您所见,在我的路由器中,我放置了一个 'newId' 的占位符。这是我想作为刚刚由 'Add' 部分创建的项目的 ID 的部分。
addTemplateProject() {
var album_title = new Date();
const newAlbum: any = { project_title }
this.albumCollection.add(newAlbum);
this.router.navigate(['folders', this.folderId, 'albums', newId, 'edit']);
}
如 documentation 状态:
// Add a new document with a generated id.
db.collection("cities").add({
name: "Tokyo",
country: "Japan"
})
.then(function(docRef) {
console.log("Document written with ID: ", docRef.id);
})
.catch(function(error) {
console.error("Error adding document: ", error);
});
您可以获取添加成功的参考。你的情况:
this.albumCollection.add(newAlbum).then(function(ref) {console.log(ref.id});
我在用什么
- Angular
- FireStore
我想要实现的目标
使用 'add' 方法创建新项目
导航到包含由 'add' 方法生成的新 ID 的 URL
问题
- 我可以创建新项目了
- 不知道如何获取新建item的id
- 我一直以我所在页面的 ID 结尾
问题
- 如何在创建新项目并在路由器中使用它时获取新项目的 ID link?
组件 TS
如您所见,在我的路由器中,我放置了一个 'newId' 的占位符。这是我想作为刚刚由 'Add' 部分创建的项目的 ID 的部分。
addTemplateProject() {
var album_title = new Date();
const newAlbum: any = { project_title }
this.albumCollection.add(newAlbum);
this.router.navigate(['folders', this.folderId, 'albums', newId, 'edit']);
}
如 documentation 状态:
// Add a new document with a generated id.
db.collection("cities").add({
name: "Tokyo",
country: "Japan"
})
.then(function(docRef) {
console.log("Document written with ID: ", docRef.id);
})
.catch(function(error) {
console.error("Error adding document: ", error);
});
您可以获取添加成功的参考。你的情况:
this.albumCollection.add(newAlbum).then(function(ref) {console.log(ref.id});