routerlink无法在angular2中工作

时间:2016-12-27 21:48:37

标签: angular angular2-routing

我检查了所有教程,但没找到,我做错了什么。

AppModule:

 import { BrowserModule } from '@angular/platform-browser';
 import { NgModule } from '@angular/core';
 import { FormsModule } from '@angular/forms';
 import { HttpModule } from '@angular/http';

 import { AppComponent } from './app.component';
 import {BlogComponent} from './blog/blog.component';
 import { PortfolioComponent } from './portfolio/portfolio.component';
 import { NavbarComponent } from './shared/navbar/navbar.component';
 import {TimelineComponent} from './timeline/timeline.component';
 import {HomeComponent} from './home/home.component';

 import { routing} from './app.routing';

 @NgModule({
   declarations: [
     AppComponent,
     PortfolioComponent,
     NavbarComponent,
     BlogComponent,
     TimelineComponent,
     HomeComponent
   ],
   imports: [
     BrowserModule,
     FormsModule,
     HttpModule,
     routing
   ],
   providers: [],
   bootstrap: [
     AppComponent
   ]
 })
 export class AppModule { }
 </i>

 Navigation Bar 
 <i>
 <div id="navbar" class="collapse navbar-collapse">
       <ul class="nav navbar-nav">
         <li><a routerlink="/portfolio">Portfolio</a></li>
         <li><a routerlink="/timeline">Timeline</a></li>
         <li><a routerlink="/blog">Blog</a></li>
       </ul>
       <ul class="nav navbar-nav navbar-right">
         <li><a href="#contact">Professionals</a></li>
         <li><a href="#contact">Students</a></li>
       </ul>
     </div>
 </i>

 NGModule :
 <i>
 import { BrowserModule } from '@angular/platform-browser';
 import { NgModule } from '@angular/core';
 import { FormsModule } from '@angular/forms';
 i

 import { routing} from './app.routing';

 @NgModule({

   imports: [
     BrowserModule,
     FormsModule,
     HttpModule,
     routing
   ],
   providers: [],
   bootstrap: [
     AppComponent
   ]
 })

请检查上面的代码,如果请帮我找到为什么routerlink没有问题。

3 个答案:

答案 0 :(得分:2)

不确定您粘贴的代码是否正确排序但我可以看到2个错误。

首先,您要设置routerlink属性而不是routerLink,请注意它区分大小写。

其次,我非常确定您没有在具有相关组件的模块中导入RouterModule,请确保您这样做,这样您就可以首先访问routerLink指令。

答案 1 :(得分:2)

您显示的代码是正确的。

我认为您的问题是您没有将RouterModule(声明组件的位置)导入到使用此模板的模块中。

在使用此模板声明组件的模块中添加:

import { RouterModule } from '@angular/router';

然后将其添加到您的模块导入中,例如。

@NgModule({
  imports: [
    RouterModule
  ],
  declarations: [MyComponent]
})
export class MyTemplatesModule { }

答案 2 :(得分:0)

带有routerLink的锚标签必须与de tag router-outlet

位于同一位置