Как обрабатывать маршрутизацию с несколькими кликами - PullRequest
0 голосов
/ 29 марта 2019

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

Я попытался получить идентификатор с помощью Resolver - routerReuse Strategy = false - router.navigateEnd

menu.json (for left sidebar menus)

{"title": "Управление недвижимостью", "link": "/ property", "children": [{"title": "Items", "link": "/ property / test / items"}]},

test.route

{
            path: 'items',
            component: ItemsComponent,
            children: [
                {
                    path: ':categoryId',
                    component: ListingComponent,]

}}

item.component.html

<div class="col-12 p-0 b-height">
<div class="row m-0 b-height">
    <div class="col-3 col-sm-3 p-0">
        <items-sidebar #rentableSidebar></items-sidebar>
    </div>
    <div class="col-9 col-sm-9 p-3 bg-white">
        <router-outlet></router-outlet>
    </div>
</div>

Фактические результаты: если мы нажмем «Элементы» в главном меню, все будет работать нормально (URL будет выглядеть как https://localhost:4200/property/test/items/1), но если он все еще открыт и снова щелкнет, компонент листинга покажет пустой экран (URL будет похож на https://localhost:4200/property/test/items). ID не загружается.

Ожидаемые результаты: должны отображаться данные, а URL будет https://localhost:4200/property/test/items/1

...