Angular9:使用相同的组件进行用户创建和用户编辑

Angular 9: Using same component for user creation and user editing

如何使用一个组件同时进行编辑和创建?

表格将1:1相同。

我的编辑组件订阅了 url id 参数的更改,并相应地获取用户项目:

user: User;

constructor(private httpHandler: HttpHandlerService,
          private route: ActivatedRoute) {
}

ngOnInit(): void {
    this.route.params.subscribe(params => {
       this.httpHandler.getUser(userId)
         .subscribe(user => this.user = user);
    });
}

创建(新用户)不应发生这种情况。我想使用一个空的用户对象而不订阅任何东西。

我应该只检查路由参数吗?或者有更好的方法吗?

通过检查 :id 参数来区分我的组件是处于 'create' 还是 'update' 模式。

      user: User;
      idParam: string;
    
      ngOnInit(): void {
        this.route.params.subscribe(params => {
          this.idParam= params[`id`];
          if (!!this.idParam) {
                this.httpHandler.getUser(idParam)
                     .subscribe(user => this.user = user);
            } else {
              this.user = {
                id: '',
                name: ''
              };
          }
        });
      }