Angular.js - Представление по умолчанию, когда вспомогательное представление не загружено? - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть кнопка «Панель инструментов» в области панели инструментов, которая загружает два вида:

  1. Меню панели слева
  2. Детали панели справа

Поэтому, когда URL-адрес:

/#/dashboard/1001

Он будет отображать идентификатор панели мониторинга 1001. Вы можете изменить, какая панель мониторинга просматривается, выбрав другие в левом меню.

Этоработает хорошо.Проблема в том, что я не могу гарантировать, что панель мониторинга будет всегда загружена (то есть: первая в списке или избранное или что-то в этом роде).

Таким образом, следующий URL действителен:

/#/dashboard

Который я надеялся иметь либо панель мониторинга по умолчанию, либо сообщение, указывающее на выбор панели управления в меню слева.

Единственная проблема в том, что она не работает хорошо для меня.Моя панель инструментов по умолчанию выглядит следующим образом:

<div ng-if="id === null">
  Default dashboard landing page (system dashboard)...
  Or message to load a dashboard from the menu on the left...
</div>

<div ui-view="dashboard-details"></div>

В основном пытаюсь определить, есть ли часть id в URL.

Мой маршрут выглядит так:

//-------------------------------------------------------------------------------------
// Dashboard
//-------------------------------------------------------------------------------------
.state('dashboard', {
  url: "/dashboard",
  views: ...
})

.state('dashboard.detail', {
  url: "/{id:int}",
  views: ...
})

Мне бы хотелось, чтобы, если панель мониторинга не была выбрана, я мог бы показать представление, но если панель мониторинга была выбрана, то просто показать фактическую панель мониторинга, а не это представление по умолчанию.

...