亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試獲取對象時無法設置未定義的屬性“id”

嘗試獲取對象時無法設置未定義的屬性“id”

料青山看我應如是 2022-09-23 16:58:40
當我嘗試從火庫,火庫獲取指定用戶時遇到問題。export class TaskService {  tasksCollection: AngularFirestoreCollection<Task>;  taskDoc: AngularFirestoreDocument<Task>;  tasks: Observable<Task[]>;  task: Observable<Task>;  constructor(private afs: AngularFirestore) {    this.tasksCollection = this.afs.collection('tasks', ref => ref.orderBy('title', 'asc'));  }  getTask(id: string): Observable<Task> {    this.taskDoc = this.afs.doc<Task>(`clients/${id}`);    this.task = this.taskDoc.snapshotChanges().pipe(map(action => {      if (action.payload.exists === false) {        return null;      } else {        const data = action.payload.data() as Task;        data.id = action.payload.id;        return data;      }    }));    return this.task;  }}這是我的文件Component.tsexport class TaskDetailsComponent implements OnInit {  id: string;  task: Task;  hasHours = false;  showHoursOnUpdate: false;  constructor(    private taskService: TaskService,    private router: Router,    private route: ActivatedRoute  ) { }  ngOnInit() {    // Get id from url    this.id = this.route.snapshot.params.id;    // Get client    this.taskService.getTask(this.id).subscribe(task => {      if (task != null) {        if (task.hours > 0) {          this.hasHours = true;        }      }      this.task = task;    });    console.log(this.id);    console.log(this.task);  }}id 的結果是好的。但對象(任務)的結果未定義。P.S我也有獲取所有用戶和添加新用戶的功能,所以如果這是相關的,請在評論中告訴我
查看完整描述

1 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

您的代碼行

this.id = this.route.snapshot.params.id;

在這種情況下,不是表格列,而是您的文檔ID由Firestoreid

這里是消防倉庫的例子

所以在這種情況下,你的是紅色的,而不是藍色的。Id


查看完整回答
反對 回復 2022-09-23
  • 1 回答
  • 0 關注
  • 74 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號