Angular 8 - Маршрутизация не работает при нажатии на строку меню, где указан путь маршрута в href - PullRequest
0 голосов
/ 19 апреля 2020

Заранее спасибо:

Я пытаюсь нажать на строку меню, где я упомянул href для пути маршрутизации и размещен на IIS. когда я нажимаю на меню в пользовательском интерфейсе, это ничего не происходит и не идет к соответствующему компоненту. Он идет по пути маршрута по умолчанию. но он работает в локальном порту 4200. когда я нажимаю на страницу строки меню обновляется. Я изо всех сил стараюсь изо дня в день, но это бесполезно, может кто-нибудь, пожалуйста, помогите мне получить правильную реализацию.

Это мой компонент HTML, где я дал href для маршрута.

Fre sh Овощ

        </li>
        <li class="menu-item-has-children dropdown">
            <a href="Wheat" class="dropdown-toggle"  aria-haspopup="true" aria-expanded="false"> <i class="menu-icon fa fa-cogs"></i>Wheat</a>                    
        </li>

**

Это мой маршрут:

{
  path:'Veg',
  component:VegetablesComponent,
  canActivate :[AuthGuard] 
},

Это мой индекс

 <base href="./">

Это мой веб-конфиг в IIS

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Angular Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
          </conditions>
          <action type="Rewrite" url="/ePortal/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

</configuration>

1 Ответ

1 голос
/ 19 апреля 2020

Ваш якорь всегда будет обновлять sh ваше приложение, поскольку angular не получает уведомления о его перехвате.

Вместо этого используйте <a routerLink="/first-component">.

Для получения дополнительной информации см.: https://angular.io/guide/router

...