Angular.js-未加载子视图时的默认视图?

时间:2019-02-09 22:54:53

标签: angularjs angular-ui-router

我的工具栏区域有一个“仪表板”按钮,该按钮加载两个视图:

  1. 左侧的仪表板菜单
  2. 右侧的仪表板详细信息

因此,当URL为:

/#/dashboard/1001

它将显示仪表盘ID1001。您可以通过在左侧菜单中选择其他仪表盘来更改查看的仪表盘。

这很好。问题是我不能保证将始终加载仪表板(即:列表中的第一个或收藏夹或类似内容)。

因此以下网址有效:

/#/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>

基本上是尝试确定URL是否存在id部分。

我的路线如下:

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

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

我希望如果未选择仪表板,则可以显示视图,但是如果选择了仪表板,则仅显示实际仪表板,而不显示默认视图。

0 个答案:

没有答案