Angular 4未加载组件

标签 angular angular4-router

我尝试在 Angular 4 应用程序中使用 Angular 路由,但该应用程序无法加载与请求的路由匹配的组件:

这里是app-routing.module.ts:

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { DashboardComponent } from './dashboard/dashboard.component';

const routes: Routes = [
  { path: 'dashboard', component: DashboardComponent },
  { path: '', redirectTo: '/dashboard', pathMatch: 'full' },
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

app.module.ts 看起来像这样:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent } from './app.component';
import { DashboardComponent } from './dashboard/dashboard.component';
import { AppRoutingModule } from './app-routing.module';

@NgModule({
  declarations: [
    AppComponent,
    DashboardComponent,
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
  ],
  providers: [ ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

app.component.html:

<h1>
    Welcome to {{title}}!
</h1>
<router-outlet></router-outlet>

我的dashboard.component.html:

<p>dashboard works!</p>

我试图找出问题所在,还查看了 Angular 4 路由 tutorial 。请帮忙。

最佳答案

经过一番排查后,我找到了解决方案,并在这个link上找到了答案。 。基本上,在 app.module.ts ,我们只需要添加这个导入语句来导入 APP_BASE_HREF token :

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

并添加APP_BASE_HREFproviders数组:

providers: [ {provide: APP_BASE_HREF, useValue: '/' }],

根据 Angular documentation 的另一种解决方案就是简单地添加 <base href="/">作为<head>的第一个 child 标签。

关于Angular 4未加载组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47391157/

相关文章:

javascript - Angular - 如何根据某些特定检查来减少数组?

angular - 如何在同一组件上刷新路由更改的组件?

javascript - Angular 5. 如何跟踪 Javascript 文件中的路由更改,或在组件级别执行功能?

angular - 如何以 Angular 4 路由

angular - Angular 的 @HostBinding( 'window:resize' ) 和 Rxjs 的 fromEvent( window, 'resize' ) 之间的区别

angular - 如何将依赖项传递给@auth0-angular-jwt?

angular - 尝试使用 HTTP.GET 使用 REST 服务时 Angular2 中的原始异常 : No provider for Http!

angular - 无法设置 content-type = application/json angular4 post 请求

javascript - 底部的箭头表示 Angular 事件链接

Angular 4路由器和模态对话框