2016-08-24 3 views
1

я получаю эту ошибку, когда я пытаюсь создать угловую ссылку маршрутизации:угловой 2 rc5 ошибка шаблона синтаксического анализа

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> 
"): [email protected]: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> 

и в моем компоненте I есть это:

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 
})]); 
+0

какая угловая2 версия вы используете? –

+0

Я использую rc5. – Tyler

+0

Вы используете @NgModule? Укажите, как вы загружаете свое приложение. – j2L4e

ответ

1

Вам не нужно включать directives: [RouterLink], чтобы использовать [routerLink]. Он будет доступен через настройки, которые вы делаете через RouterModule.forRoot.

@NgModule({ 
    ... 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    RouterModule.forRoot(<route paths and configurations>) 
    ], 
    .... 
}) 

В любом модуле Feature, вы должны явно импортировать его путем добавления RouterModule.

Надеюсь, что это поможет!

+0

У меня уже есть это export const routing = RouterModule.forRoot (appRoutes); внутри app.routes.ts – Tyler

Смежные вопросы