相关疑难解决方法(0)

RouterModule.forRoot(ROUTES)vs RouterModule.forChild(ROUTES)

这两者之间的区别是什么?每种用例有什么用处?

文档是不完全帮助:

forRoot创建一个包含所有指令,给定路由和路由器服务本身的模块.

forChild创建一个包含所有指令和给定路由的模块,但不包括路由器服务.

我的模糊猜测是,一个用于'main'模块,另一个用于任何导入的模块(因为它们已经可以从主模块获得服务),但我真的不能想到用例.

router angular

88
推荐指数
4
解决办法
7万
查看次数

使用forRoot()导入模块

我将通过Angular2 Material示例,我看到所有Material模块都是使用该forRoot()方法在根模块中导入的.所以在我的应用程序中我也这样做.

现在我需要在其他Shared模块中使用一些Material组件,这意味着我需要在Shared模块中导入相关的Material包.我不清楚forRoot()在共享模块中导入它们时是否还需要使用该方法.

在此先感谢您的帮助

angular2-material angular

14
推荐指数
1
解决办法
1万
查看次数

Angular:forRoot/forChild方法用法?

我很惊讶没有确切的答案:

Root/forChild的方法是什么?

例如在RouterModule中:

Router.forRoot(routes)
Run Code Online (Sandbox Code Playgroud)

angular-ngmodel angular angular-router

9
推荐指数
2
解决办法
3536
查看次数

在Angular 2中提供核心单例服务模块

我尝试创建一些核心模块,就像在教程中除了一个细节,我想只提供服务.所以我的CoreModule应该像 - 单身服务提供者,因为我不想在AppModule中提供大量服务,就像应用版本<= RC4一样.我试着做那些东西,但它不起作用.我做错了吗?谢谢你的帮助.

import {
  ModuleWithProviders, NgModule,
  Optional, SkipSelf }       from '@angular/core';

import { CommonModule }      from '@angular/common';

import { CommunicatePatientListService }    from './services/communicate_patients_list.service';
import { HTTPPatientsListService }    from './services/http_patients_list.service';
import { SharedService }    from './services/shared_service';


@NgModule({
  imports:      [ CommonModule ],
  providers:    [
    CommunicatePatientListService,
    HTTPPatientsListService,
    SharedService
  ],
  exports: []
})
export class CoreModule {}
Run Code Online (Sandbox Code Playgroud)

更新2.我尝试了不同的方法来完成提供给我的事情,我发现了一个有趣的时刻.

当我通过标准导入导入COREModule单例服务时,它不起作用,但是当我通过System.js别名导入它时,它现在正在工作.我真的很想知道它是如何工作的.这是代码

CoreModule:
import {
  ModuleWithProviders, NgModule,
  Optional, SkipSelf }       from '@angular/core';

import { CommonModule }      from '@angular/common';


import { HeaderModule } from './modules/header/header.module';
import …
Run Code Online (Sandbox Code Playgroud)

typescript angular

2
推荐指数
1
解决办法
6156
查看次数