我遇到了路由问题。 url更改为预期的url,但是模板永不加载,并且控制台上没有错误。我正在为项目使用Ionic 1。
这是我的路由配置。
$stateProvider .state('admin', { url: "/admin", views: { 'landing': { templateUrl: "templates/admin/admin-login.html", controller: 'AdminLoginController' } } }) .state('adminapp', { url: '/adminapp', abstract: true, views: { 'admin': { templateUrl: "templates/admin/admin-main.html", controller: 'AdminLoginController' } } }) .state('adminapp.parking', { url: "/adminparking", views: { 'adminMenuContent': { templateUrl: "templates/admin/admin-home.html", controller: 'AdminHomeController' } } })
下面是index.html中的代码段
<body ng-app="starter" class="starter">
<ion-nav-view name="landing"></ion-nav-view>
<ion-nav-view name="admin"></ion-nav-view>
</body>
下面是admin-main.html
<ion-side-menus enable-menu-with-back-views="false" ng-init="initAdmin()">
<ion-side-menu-content>
<ion-nav-bar class="bar-stable">
<ion-nav-back-button>
</ion-nav-back-button>
<ion-nav-buttons side="left">
<button class="button button-icon button-clear ion-navicon" menu-toggle="left">
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="adminMenuContent"></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<div ng-include="'templates/admin/admin-menu-template.html'"></div>
</ion-side-menu>
</ion-side-menus>
我不得不使用两个视图,因为登录页面没有菜单,而登录后的所有其他页面都具有菜单,并且根据一些离子论坛的帖子,我必须使用两个视图。
初始目标网页网址为/pg-admin/index.html#/admin
。登录后,它导航到pg-admin/index.html#/adminapp/adminparking
。
当我从“面板”菜单中选择“注销”选项时,我导航回到/pg-admin/index.html#/admin
。但是,尽管URL现在已更改,但它从未加载登录页面。我正在尝试浏览以如下方式登录
$state.go('admin', {});
“管理员”视图中的导航工作正常。例如,如果我导航到
pg-admin/index.html#/adminapp/settings
,可以正常工作。
路由配置有什么问题吗?我想抽象视图周围有些混乱。