首页 > 解决方案 > Angular 6 Service 从方法内部添加新实例

问题描述

我有一个看起来像这样的服务:

export class myService {

  view1 = new Viewer();

  constructor() { }


  viewit(targetId, param2, param3) {

    this.view1.initialize(document.getElementById(targetId));

    this.view1.load(param2, param3).then(pco => {
      // do stuff
    })
    .catch(err => console.error(err));
  }

然后从我称之为的组件中:

this.myService.viewit('targetId', 'param2 here', 'param3 here');

如何在 view1 = new Viewer();无需在服务中预先定义的情况下将其传递或定义为我需要的任何名称?

标签: angulartypescriptangular6

解决方案


下面的呢:

为您服务:

export class myService {

  constructor() { }


  viewit(targetId, param2, param3, view: Viewer) {

    view.initialize(document.getElementById(targetId));

    view.load(param2, param3).then(pco => {
      // do stuff
    })
    .catch(err => console.error(err));
  }

并在您的组件中匹配它:

常量视图 = 新查看器()

this.myService.viewit('targetId', 'param2 here', 'param3 here', view);

推荐阅读