angular-material - 使用 routerLink 时,角度 Material 选项卡动画会中断

标签 angular-material angular-router angular6 angular-animations

我在我的 Angular 6 应用程序中实现了 Angular Material 选项卡。如果我在没有绑定(bind)到 routerLink 的情况下使用 Material 选项卡,则滑动动画有效并且路由器 socket 中的内容有效。但是,当我绑定(bind)到 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"
    }
]

并且模块是延迟加载的。

有谁知道为什么动画会中断?我已经做了一些挖掘以找到答案。我正在从应用程序模块中的“@angular/platform-b​​rowser/animations”导入 BrowserAnimationsModule,并且我也没有在任何地方声明任何 NoopBrowserAnimations。

任何帮助将非常感激。

最佳答案

为了实现mat-tab-link上的标签动画与常规 mat-tab 一样您需要为您的<router-outlet> 定义路线动画。 .

这是路线动画的一个很好的例子:
https://angular.io/guide/route-animations

关于angular-material - 使用 routerLink 时,角度 Material 选项卡动画会中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50757924/

相关文章:

javascript - 基于选择的路由器

angular - 如何将带有按钮的列添加到带有循环的表格中?

angular - 类型错误 : Buffer is not a constructor using Angular Material Table Exporter

html - Angular Material - 如何将 CSS 样式传递给新窗口

Angular - ErrorHandler 中的导航仅适用于 zone.run()

angular - ngrx 在组件(与路由关联)init 上调度操作

angular - WebStorm - 参数类型 {providedIn : "root"} is not assignable to parameter type {providedIn: Type<any> | "root" | null} & InjectableProvider

Angular 6 单元测试 : An error was thrown in afterAll\nReferenceError: Can't find variable: $ thrown

angular - createUrlTree 忽略 "useHash: true"RouterModule 配置

angular - Router-outlet 在 Routerlink 导航后没有更新