如何在Angular中为模块制作“imports”数组?

时间:2018-03-09 15:54:06

标签: angular

假设我想写一个名为“alert-button”的Angular模块。每次按“提醒按钮”时,都应该有一个提示“嗨!”。所以我的警报按钮组件看起来有点像这样:

<button (click)="doAlert()">Alert!</button>

但现在让我们说,我希望模块的用户可以将自己的按钮与我的警报模块一起使用。所以我会尝试做类似的事情:

@NgModule({})
export class TaskModule {
  static forRoot(AppButtonModule)
    return {
      ngModule: TaskModule,
      imports: [AppButtonModule],
      providers: [AlertService]
    }
  }
}

所以在模块中,我正在尝试使用部分来电者。然后,模块的组件可能如下所示:

<app-button (click)="doAlert()">Alert!</app-button>

我可以通过“提供您自己的按钮来记录我的模块,因此该模块与您的应用程序的样式相匹配”。模块的每个用户都必须为模块提供另一个模块,该模块具有带选择器“app-button”的组件。

但是,我上面建议的这种方法不起作用,你不能简单地将导入换成root用户。还有另一种方法可以达到预期的行为吗?也许是懒惰加载或类似的东西?

目标是得到这样的东西:

enter image description here

0 个答案:

没有答案