Подтвердить что ты не робот

Невозможно связать с 'routerLink', так как это не известное свойство 'a'

Я обновляю одно из наших приложений от rc4 до angular2.0.0, и во время выполнения я получаю ошибку анализа шаблона. Вот мой шаблон для просмотра:

<div *ngFor="let widget of widgets" class="col-xs-3 quick-link">
    <a [routerLink]="['/Tile', widget.WidgetRoute.Feature, widget.WidgetRoute.SubFeature]">
        <div class="tile-icon">
            <span [className]="widget.IconCssClass"></span>
            <span *ngIf="widget.BadgeNumber > 0" class="badge">{{widget.BadgeNumber}}</span>
        </div>
        <h4>{{widget.Text}}</h4>
    </a>
</div>

И ошибка на маршрутизаторе. Здесь ошибка:

Can't bind to 'routerLink' since it isn't a known property of 'a'. ("

    <div *ngFor="let widget of widgets" class="col-xs-3 quick-link">
        <a [ERROR ->][routerLink]="['/Tile', widget.WidgetRoute.Feature, widget.WidgetRoute.SubFeature]">
            <di"): [email protected]:19
Can't bind to 'ngIf' since it isn't a known property of 'span'. ("tile-icon">
                <span [className]="widget.IconCssClass"></span>
                <span [ERROR ->]*ngIf="widget.BadgeNumber > 0" class="badge">{{widget.BadgeNumber}}</span>
            </div>
     "): [email protected]:22

РоутерЛинк не кажется мне неправильным... Что я сделал не так?

4b9b3361

Ответ 1

Проблема заключается в том, что вы забыли добавить RouterModule к вашему компоненту NgModule. В RC это было добавлено к @Component({directives: [ROUTER_DIRECTIVES]}), однако теперь это перемещено в @NgModule({ imports: [RouterModule]}).

Когда вы определяете маршруты, одним из компонентов, которые вы будете импортировать, будет RouterModule, который вы будете использовать для вызова forRoot или forChild. При импорте маршрута это будет автоматически импортировано.

Итак, вы получите RouterLink либо этим способом, либо прямым импортом в свойство imports @NgModule.

Ответ 2

Часть синтаксиса изменилась с rc-4, особенно если вы не использовали маршрутизатор 3.0.

Следуйте за разделом RouterLink здесь.

https://angular.io/docs/ts/latest/guide/router.html

Несколько других вещей, которые нужно проверить, это часть Configuration, которая устанавливает app.module.ts.

Надеюсь, это поставит вас в правильном направлении!