尝试获取对象时无法设置未定义的属性“ id”

什凯尔钦·马克斯哈拉吉

尝试从Firebase Firestore获取指定用户时遇到问题。

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.ts档案

export 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的结果很好。但是对象(任务)的结果是不确定的。

PS我还具有获取所有用户并添加新用户的功能,因此如果相关,请在评论中让我知道

大自然

您的代码行

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

在这种情况下id,不是表列,而是Firestore的文档ID

这是一个消防站的例子

因此,Id在这种情况下,您的是红色的而不是蓝色的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

未定义的值。尝试通过获取设置ID

当我尝试制作 ID 时;“无法读取未定义的属性‘长度’。”

尝试通过 arg 中的 ID 发送直接消息时,“无法读取未定义的属性‘发送’”

尝试将值保存到自定义类型的数组中。得到“无法设置未定义的属性(设置'id')”

DatePicker:当多个数组ID时,无法设置未定义的属性“ currentDay”

angularjs添加值无法设置未定义的属性“ id”

TypeError:无法设置未定义的属性“ data_id”

错误:无法在UserComponent上设置未定义的属性“ id”

dojo无法设置未定义的属性“ id”

快速会话无法设置未定义的属性“ id”

删除时出错:无法读取未定义的属性“ id”

无法读取未定义的属性“ id”

无法读取未定义的属性“id”

导航到带有 Angular 中 ID 的路由时,无法读取未定义的属性“id”

如何修复“错误TypeError:无法设置未定义的属性'id'”

未捕获的TypeError:无法设置未定义的属性“ product_id”

对象数组:无法读取onchange事件中未定义的属性'id'

尝试通过 id 时未定义的方法

使用Knockout.js无法获取未定义或空引用API的属性'Id'

解析工厂中声明的数组时,“无法读取未定义的属性'id'”

发布到本地API时无法读取未定义的属性“ id”

未处理的拒绝(类型错误):比较 id 时无法读取未定义的属性“”

MongoError:TypeError:使用$ or时,无法读取未定义的属性“ id”

无法在ID中设置为未定义的值

数组findIndex()函数-无法读取未定义的属性'id'

类型错误:无法读取未定义错误的属性“_id”

react js无法读取未定义的属性“ id”

Serverless:“ errorMessage”:“无法读取未定义的属性” id“,

Gatsby TypeError-无法读取未定义的属性“ id”