加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

打字稿 – 为什么我的angular2应用程序初始化两次?

发布时间:2020-12-17 08:46:54 所属栏目:安全 来源:网络整理
导读:请告诉我我的错误在哪里,我的应用程序运行AppComponent代码两次. 我有5个文件: main.ts: import { bootstrap } from '@angular/platform-browser-dynamic';import { enableProdMode } from '@angular/core';import { AppComponent,environment } from './a
请告诉我我的错误在哪里,我的应用程序运行AppComponent代码两次.
我有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放在那里.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读