Анимация вкладок углового материала прерывается при использовании routerLink

Я использую вкладки материалов angular в своем приложении angular 6. Если я использую вкладки материалов без привязки к routerLink, то анимация скольжения работает, и содержимое в розетке маршрутизатора работает. Однако, когда я привязываюсь к routerLink, скользящая анимация не работает, и контент просто отображается очень неуклюже.

<div class="my-3">
    <nav mat-tab-nav-bar>
        <a mat-tab-link
            *ngFor="let tab of tabs"
            [routerLink]="tab.path"
            routerLinkActive #rla="routerLinkActive"
            [active]="rla.isActive">
            {{tab.label}}
        </a>
   </nav>
</div>

<router-outlet></router-outlet>

Пути объявлены внутри шаблона компонента:

tabs: any[] = [
    {
        label: "Details",
        path: "details"
    },
    {
        label: "Users",
        path: "users"
    }
]

И модули загружаются лениво.

Кто-нибудь знает, почему ломается анимация? Я немного покопался, чтобы найти ответ. Я импортирую BrowserAnimationsModule из «@ angular / platform-browser / animations» в модуле приложения и нигде не объявляю никаких NoopBrowserAnimations.

Любая помощь приветствуется.


person user2173706    schedule 08.06.2018    source источник
comment
Я предполагаю, что вы должны определить анимацию для розетки маршрутизатора. Если вам удалось решить эту проблему, опубликуйте ее :)   -  person ahaw    schedule 21.09.2018


Ответы (1)


Чтобы добиться анимации вкладок на mat-tab-link, как на обычном mat-tab, вам необходимо определить анимацию маршрута для вашего <router-outlet>.

Вот хороший пример анимации маршрута: https://angular.io/guide/route-animations

person Mihai Borbea    schedule 02.12.2018