请告诉我我的错误在哪里,我的应用程序运行AppComponent代码两次.
我有5个文件:
我有5个文件:
main.ts:
- import { bootstrap } from '@angular/platform-browser-dynamic';
- import { enableProdMode } from '@angular/core';
- import { AppComponent,environment } from './app/';
- import { APP_ROUTER_PROVIDERS } from './app/routes';
- import {HTTP_PROVIDERS} from '@angular/http';
- import {ServiceProvider} from "./app/providers/app.service.provider"
- if (environment.production) {
- enableProdMode();
- }
- bootstrap(AppComponent,[ServiceProvider,APP_ROUTER_PROVIDERS,HTTP_PROVIDERS]);
routes.ts:
- import {provideRouter,RouterConfig} from '@angular/router';
- import {AppComponent} from "./app.component";
- import {ReportDetailComponent} from "./component/AppReportDetailComponent";
- import {ReportsListComponent} from "./component/AppReportListComponent";
- import {ReportCreateComponent} from "./component/AppReportCreateComponent";
- export const routes:RouterConfig = [
- {
- path: 'reports',children: [
- {path: ':id',component: ReportDetailComponent},{path:'',component: AppComponent },{path: 'create',component: ReportCreateComponent},{path: 'list',component: ReportsListComponent},]
- }
- ];
- export const APP_ROUTER_PROVIDERS = [provideRouter(routes)];
app.component:
- import {Component,OnInit} from '@angular/core';
- import {ReportNavComponent} from "./component/AppReportNavComponent";
- import { ROUTER_DIRECTIVES } from '@angular/router';
- @Component({
- moduleId: module.id,selector: 'app-root',templateUrl: 'tpl/app.component.html',styleUrls: ['app.component.css'],directives: [ROUTER_DIRECTIVES,ReportNavComponent]
- })
- export class AppComponent {
- constructor() {
- }
- }
app.component.html:
- <report-nav></report-nav>
- <router-outlet></router-outlet>
和最后一个AppReportNavComponent.ts:
- import {Component} from "@angular/core";
- import {ROUTER_DIRECTIVES} from '@angular/router';
- @Component({
- selector: "report-nav",directives: [ROUTER_DIRECTIVES],template: `<nav>
- <a [routerLink]="['/list']">List</a>
- <a [routerLink]="['/create']">Create new</a>
- </nav>`
- })
- export class ReportNavComponent {
- constructor() {
- }
- }
如果我去/报告我应该看到两个链接“列表”和“创建”
但是在app-root标签里面我看到了辅助app-root标签(在图片上)
screenshot
我的问题是:为什么?
因为您的默认路由指向AppComponent,所以您的路由正在AppComponent中呈现AppComponent:
- {path:'',
你可能应该把DashboardComponent或HomeComponent放在那里.