正如标题所述,我在将Angular ui路由器与ion-side-menus
一起使用时遇到问题。我已经看到了其他几个非常相似的问题,但我似乎无法确定我的问题。
在我使用父状态的情况下将基本状态加载到离子导航视图中之前,侧边栏将显示出来。但是,一旦我更改了状态,侧边栏就停止工作。由于添加父状态app
并使feed
成为它的子状态,我的应用程序显示完全空白的屏幕,并且没有从任一控制器运行任何代码。
从index.html
开始,我的身体标签只是<ion-nav-view>
标签:
<body>
<ion-nav-view></ion-nav-view>
</body>
menu.html
包含侧边栏菜单的 html:
<ion-side-menus>
<ion-pane ion-side-menu-content>
<ion-nav-bar class="bar-stable">
<ion-nav-back-button class="button-clear"><i class="icon ion-chevron-left"></i> Back</ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
</ion-pane>
<ion-side-menu side="left">
<header class="bar bar-header bar-stable">
<h1 class="title">Left</h1>
</header>
<ion-content class="has-header">
<ion-list>
<ion-item nav-clear menu-close>
Tab 1
</ion-item>
<ion-item nav-clear menu-close>
Tab 2
</ion-item>
<ion-item nav-clear menu-close>
Some tab
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
最后,将事物联系在一起的部分是路由器:
函数配置($stateProvider, $urlRouterProvider, $locationProvider( {
$urlRouterProvider.when('', '/feed');
$urlRouterProvider.otherwise('/feed');
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'views/menu/menu.html',
controller: 'MenuController'
})
$stateProvider
.state('app.feed', {
url: '/feed',
views: {
'menuContent': {
templateUrl: 'views/feed/feed.html',
controller: 'FeedController',
controllerAs: 'ctrl',
authenticate: true
}
}
});
//Other states
我很欣赏任何人都可以提供的任何见解!
问题是$urlRouterProvider.otherwise()
指向/feed
它应该被/app/feed
的时间,因为它在技术上是一个子状态。