Я новичок в 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 ответ
Модуль — это просто «обычный» класс с аннотацией @NgModule. Поэтому нет никаких причин, по которым у него не может быть методов, включая статические методы, такие как forRoot().
Похожие вопросы
Связанные вопросы
Новые вопросы
angular
Вопросы об Angular (не путать с AngularJS), веб-фреймворке от Google. Используйте этот тег для вопросов Angular, которые не относятся к отдельной версии. Для более старой веб-инфраструктуры AngularJS (1.x) используйте тег AngularJS.
forRoot
— это статический метод вRouterModule
. Если вы объявляете статический метод в одном из ваших собственных модулей, вы можете вызвать его таким же образом.static forRoot(): ModuleWithProviders { return { ngModule: AbcModule }; }
angular.io/ руководство/ngmodule-faq#what-is-the-forroot-method. Это полезно при создании библиотек для использования в других проектах.