- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在通过 Angular 2 开展一个 MEAN 项目,并正在为我的各个页面设置路由。我见过很多使用 ModuleWithProviders 进行路由的示例,而不是使用 NgModule ( https://angular.io/guide/router ) 的 angular.io 示例
什么是标准的做事方式?如果两者都可以接受,两者之间是否存在性能差异?
ModuleWithProviders 示例:
import { ModuleWithProviders } from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
import { AppComponent } from './app.component';
import { AboutComponent } from './about/about.component';
import { ServicesComponent } from './services/services.component';
export const router: Routes = [
{ path: '', redirectTo: 'about', pathMatch: 'full'},
{ path: 'about', component: AboutComponent },
{ path: 'services', component: ServicesComponent }
];
export const routes: ModuleWithProviders = RouterModule.forRoot(router);
NgModule 示例:
import { NgModule } from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
import { AppComponent } from './app.component';
import { AboutComponent } from './about/about.component';
import { ServicesComponent } from './services/services.component';
export const router: Routes = [
{ path: '', redirectTo: 'about', pathMatch: 'full'},
{ path: 'about', component: AboutComponent },
{ path: 'services', component: ServicesComponent }
];
@NgModule({
imports: [
RouterModule.forRoot( router )
],
exports: [
RouterModule
]
})
export class AppRoutingModule {}
最佳答案
NgModule 和 ModuleWithProviders 是不同的东西。
NgModule
是模块类的装饰器。
ModuleWithProviders
is the interface应该由 forRoot
方法返回。 ModuleWithProviders
对象是具有 ngModule
属性的普通对象,该属性包含实际模块类,并在 providers
属性中增加了额外的提供者。
因为 ModuleWithProviders
是一个接口(interface),所以它的使用是可选的。
关于Angular 2 路由 - ModuleWithProviders v NgModule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45825360/
我是 Angular 2 的新手,我需要路由部分的帮助。我正在使用 http://jasonwatmore.com/post/2016/09/29/angular-2-user-registratio
我正在通过 Angular 2 开展一个 MEAN 项目,并正在为我的各个页面设置路由。我见过很多使用 ModuleWithProviders 进行路由的示例,而不是使用 NgModule ( htt
嗨,我对 Angular 不是很有经验,也找不到解决方案 - 我正在开发一个 Ionic Cordova 项目,我想更新 Android API 级别。 之后,我无法使用该命令构建我的代码ionic
您好,我遇到了一个与任何事情都无关的问题。 我展示了一些我的代码,希望它能有用。 请注意,当我开始创建响应式表单时,问题就出现了。 首先,这是我的 package.json: { "name":
我已升级到 Angular 10,但出现以下错误: ERROR in node_modules/angularx-flatpickr/flatpickr.module.d.ts:6:64 - er
从 Angular 版本 8 升级到 10 后。 运行 - ng serve 命令给我错误 - node_modules/ngx-tree-select/src/module.d.ts:11:56 中
安装后angular-autofocus-fix导入自动对焦模块 当我运行 Angular 项目时,它显示以下错误: ERROR in node_modules/angular-autofocus-f
我正在关注 Angular js 官方的 angular 2.0 教程 site并卡在路由练习的末尾。该代码上次有效,但前几天我再次在 node.js cmd 中点击“npm start”时,“err
我正在关注 angular 2 routes guide import { Routes, RouterModule } from '@angular/router'; import { FooCom
我正在生成 https://editor.swagger.io/ Codegen 代理。 它在 Angular 10 中给出了以下错误。如何修复? Generic type 'ModuleWithPr
我正在尝试使用 Angular 创建一个 webapp,但是在编译时我收到了这个我无法解决的错误: ERROR in src/app/app.module.ts(22,5): error TS2322
我是一名优秀的程序员,十分优秀!