2014-09-22 42 views
1

我有一個根狀態,這不是抽象的鹼性離子路由問題

$stateProvider 
    .state('app', { 
    url: "/app", 
    templateUrl: "templates/menu.html", 
    controller: 'AppCtrl' 
    }) 
    .state('app.dashboard', { 
    url: '/dashboard', 
    views: { 
     'landing': { 
     templateUrl: 'templates/dashboard.html', 
     controller: 'DashboardCtrl' 
     } 
    } 
    }); 
$urlRouterProvider.otherwise('/app'); 

現在,我的問題:

  • 我去的URL: '/應用程序'。它的工作原理和AppCtrl帶我到'/儀表板'
  • 我去url:'/儀表板'。它也可以工作,並且儀表板內容被加載。
  • 現在,我去url:'/ dashboar'。我現在在地址欄中看到的網址是'/ app',但儀表板模板也可以看到。這是爲什麼 ??那不應該是這樣,對嗎?
+0

可能你有一個plunkr或類似的東西? – Mik378 2014-09-22 12:01:16

+0

我已經把所有的代碼放在這裏......這實際上很簡單。當我輸入的網址不正確時,該模板未被卸載。不知道爲什麼 – AdityaSaxena 2014-09-22 12:08:19

+0

AppCtrl的外觀如何?它是否將您重定向到app.dashboard? – user1234 2014-09-22 12:39:51

回答

0

狀態app.dashboardapp孩子因此它的網址是/app/dashboard而不是/dashboard

然後當你去/dashboar,這個網址沒有被指定,因爲$urlRouterProvider.otherwise('/app');你被重定向到/app

因爲你正在展示給我們的代碼,我認爲你正在使用的側面菜單所以它的重要的是/templates/menu.html在:

<ion-pane ion-side-menu-content drag-content="false"> <ion-nav-view name="menuContent" animation="slide-left-right"> </ion-nav-view> </ion-pane>

要調用的app.dashboard「落地」的觀點,因此<ion-nav-view>name參數也應該「登陸」。

然後,如果您有其他狀態的側邊菜單,視圖的名稱也應該是「着陸」。

如果您不使用側邊菜單,請提供menu.html內容給我們以及dashboard.html

希望它對你有所幫助。