Angular 7 CoreUI: используйте маршрутизатор для ссылки на URL-адрес филиала - PullRequest
0 голосов
/ 26 февраля 2019

В компоненте заголовка приложения шаблона coreui admin атрибут href <a> равен "", который дает localhost: xxxx, который создает навигацию к корню.

Я бы хотел избежать полного обновления страницы с помощью routerLink, который перенаправляет на мою корневую страницу, которую я решил (например, на панель мониторинга).

Могу ли я это сделать?Кажется, этот шаблон не принимает маршрутизацию.

Компонент генерирует этот HTML:

<header class="app-header navbar">
   <button appsidebartoggler="" class="navbar-toggler d-lg-none" type="button" ng-reflect-breakpoint=""><span class="navbar-toggler-icon"></span></button>
   <a class="navbar-brand" href=""> <!-- Here is the href I'd like to altered -->
       <img class="navbar-brand-full" src="assets/img/brand/logo-white.png" alt="CoreUI Logo" width="auto" height="auto">
   </a>
    ...
</header>

В default-layout.component.html я делаю это:

<app-header [fixed]="true"
            [navbarBrandFull]="{src: 'assets/img/brand/logo-white.png', alt: 'CoreUI Logo'}"
            [sidebarToggler]="'lg'"
            [asideMenuToggler]="'lg'">

Конечно, я могу изменить href следующим образом:

<app-header [fixed]="true"
            [navbarBrandFull]="{src: 'assets/img/brand/logo-white.png', alt: 'CoreUI Logo'}"
            [sidebarToggler]="'lg'"
            [asideMenuToggler]="'lg'"
            [navbarBrandHref]="'/dashboard'">

Но при нажатии на ссылку он полностью перезагружает страницу.Я хотел бы получить тот же результат (более удобный для пользователя и намного быстрее, чем не полная перезагрузка), чем навигацию по меню из-за routerLink, который дает что-то вроде:

<a routerlinkactive="active" class="active nav-link" ng-reflect-ng-class="[object Object]" ng-reflect-router-link="/dashboard" ng-reflect-router-link-active="active" href="/dashboard">
   <i class="nav-icon icon-speedometer"></i> Dashboard
   <span class="badge badge-info" ng-reflect-ng-class="badge badge-info">NEW</span>
</a>

Спасибо за любую помощь

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Вы можете использовать функцию щелчка в <a> следующим образом

<a class="navbar-brand" (click)="navigate('/dashboard',$event)"></a>

и обрабатывать функцию щелчка в своем коде следующим образом

navigate(link, e) {
    e.preventDefault(); 
    this.router.navigate([link]);

  }
0 голосов
/ 24 мая 2019

обновить @coreui/angular до ^2.4.5
и использовать navbarBrandRouterLink вместо navbarBrandHref

0 голосов
/ 26 февраля 2019

Попробуйте использовать routerLink вместо href: Пример

<a routerLink="/dashboard"></a> 
...