angular

时间:2019-04-19 23:15:58

标签: angular typescript

如何以及何时在angular2中创建实用程序/帮助程序类或函数?

我为将创建的所有常规功能和类创建了一个名为helpers的文件夹。

但是现在我有将在8个组件上使用的代码。

/**
   * this is initialize after the elements have been loaded. called inside ngAfterViewInit methods
   * this sets up the joyrideService
   */
  joyRideInit(): void {
    const fileNameNotes = this.designNotes.map((matchImgUrl) =>
      extractKeyFromFilename(matchImgUrl)
    );

    const seenNotes = {
      viewed_notes: {
        match: fileNameNotes,
        ...this.viewedNotes
      }
    };

    this.joyrideService
      .startTour({
        steps: [
          'matchFirst',
          ...this.designNotes,
          'guidedTourBtn',
          'saveNextBtn'
        ]
      })
      .subscribe(null, null, () => {
        this.updateUserNotes(seenNotes);
      });
  }

  /**
   * sends a resquest to update the notes
   * @param userUpdateNotes 
   */
  updateUserNotes(userUpdateNotes): void {
    this.userService
      .updateUser(userUpdateNotes, this.user.id)
      .pipe(
        first(),
        map((result) => {
          // * result no used.
          console.log('res', result);
        }),
        catchError((error) => {
          console.error('display-notes#nextNoteOrClose: error in ', error);
          throw error;
        })
      )
      .subscribe();
  }

我应该将此作为类或函数吗?这将有4个参数来自将使用此参数的组件。

1 个答案:

答案 0 :(得分:0)

创建“共享/公用”服务,以及所有类似这样的方法,您可以将其放在默认情况下进行注入。