基本的离子路由问题

时间:2014-09-22 11:36:15

标签: javascript angularjs ionic-framework

我的根状态不是抽象的

$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:'/ app'。它有效,AppCtrl将我带到'/ dashboard'
  • 我去了url:'/ dashboard'。它也可以正常运行并加载仪表板内容。
  • 现在,我转到网址:'/ dashboar'。我现在在地址栏中看到的网址是“/ app”,但也可以看到信息中心模板。这是为什么 ??情况应该不是这样,对吗?

1 个答案:

答案 0 :(得分: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“登陆”的视图,因此name的{​​{1}}参数也应该“登陆”。

然后,如果你有其他状态的侧边菜单,视图的名称也应该“登陆”。

如果您不使用侧边菜单,请向我们和<ion-nav-view>提供menu.html内容。

希望它对你有所帮助。