当我尝试创建一个角度路由链接时,我一直收到这个错误:
zone.js:461 Unhandled Promise rejection: Template parse errors:
Can't bind to 'routerLink' since it isn't a known property of 'a'. ("
</h1>
<button (click)="doLogin()">Login</button>
<a [ERROR ->][routerLink]="['/createservice']" href="#">Post a Service</a>
<router-outlet></router-outlet>
"): AppComponent@4:3 ; Zone: <root> ; Task: Promise.then ; Value: BaseExceptionconsoleError @ zone.js:461
zone.js:463 Error: Uncaught (in promise): Template parse errors:(…)这是我的代码:
<a [routerLink]="['/createservice']" href="#">Post a Service</a>在我的组件中,我有如下内容:
import { RouterLink } from '@angular/router';
@Component({
moduleId: module.id,
selector: 'app-root',
providers: [AngularFire],
templateUrl: 'app.component.html',
styleUrls: ['app.component.css'],
directives: [RouterLink]
})我还尝试了这个:
<a routerLink="/createservice" routerLinkActive="active">Post a Service</a>遵循本教程(https://angular.io/docs/ts/latest/guide/router.html#!#router-link),但这也不起作用。
这就是我如何引导我的应用程序:
@NgModule({
imports: [
BrowserModule,
AngularFireModule.initializeApp(firebaseConfig),
RouterModule,
routing
],
declarations: [ AppComponent, CreateServiceComponent ],
providers: [ appRoutingProviders ],
bootstrap: [ AppComponent,FIREBASE_PROVIDERS ]
})
export class MyAppModule {}
if (environment.production) {
enableProdMode();
}
bootstrap(AppComponent, [
FIREBASE_PROVIDERS,
defaultFirebase(firebaseConfig),
firebaseAuthConfig({
provider: AuthProviders.Facebook,
method: AuthMethods.Popup
})]);发布于 2016-08-25 01:09:09
要使用[routerLink],您不需要包含directives: [RouterLink]。它将通过您通过RouterModule.forRoot进行的设置提供。
@NgModule({
...
imports: [
BrowserModule,
FormsModule,
RouterModule.forRoot(<route paths and configurations>)
],
....
})在任何功能模块中,您都必须通过添加RouterModule来显式地导入它。
希望这能有所帮助!!
https://stackoverflow.com/questions/39128378
复制相似问题