为什么模块可以使用方法?

时间:2019-11-28 00:33:10

标签: angular

我是Angular的新手,仍然在理解模块上仍然很努力。

我从一本书中看到了如下代码:

import { Routes, RouterModule } from "@angular/router";

const routes: Routes = [{ path: "form/edit", component: FormComponent }]

export const routing = RouterModule.forRoot(routes);

作者说:

forRoot方法生成一个包含路由服务的模块

我很困惑,如何使用一个模块来访问像forRoot这样的函数,不是一个模块只是声明要使用的组件/指令?怎么甚至可以使用CustomModule.CustomMethod()?

例如,定义模块的模板是:

import ...

@NgModule({
 imports: [BrowserModule...],
 declarations: [AppComponent...],
 providers: [...]
})
export class AbcModule { }      //where can I define static CustomMethod?

没有在AbcModule中可以使用的静态方法定义:

AbcModule.CustomMethod()

1 个答案:

答案 0 :(得分:1)

一个模块只是一个带有“ @NgModule”注释的“普通”类。 因此,没有理由它没有方法,包括诸如forRoot()之类的静态方法。