0
在app.js中有很多东西。但是releavant部分是:重定向到家的角度应用路线
.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {
$stateProvider
.state('home.notfound, {
url: '/notfound,
templateUrl: 'modules/main/views/404.html'
})
.state('home.unauthorized', {
url: '/unauth',
templateUrl: '/unauthorized'
});
$urlRouterProvider.otherwise('/home/main');
.run(function ($rootScope, localize, CookieService, $location) {
$rootScope.$on('$stateChangeStart', function(scope, next) {
var userCookie = CookieService.getCookie(Config.loginCookie, true);
if(next.loginRequired){
if(!userCookie){
// Logout user without cookie
$location.path('/login');
}
}
else{
return;
}
路由在像文件中定义:name.route.js
具名的路线unit.route.js包含:命名案件
define([],function(){
function routeConfiger($stateProvider){
$stateProvider
.state('home.unit', {
url: '/units',
templateUrl: 'unit.html',
controller: 'unitCtrl',
controllerAs: 'unit',
loginRequired:true
});
}
routeConfiger.$inject=['$stateProvider'];
return routeConfiger;
});
的路由。 route.js包含:
define([],function(){
function routeConfiger($stateProvider){
$stateProvider
.state('home.viewCase', {
url: '/viewcase/:caseId',
templateUrl: 'case-view.html',
controller: 'caseViewCtrl',
controllerAs: 'caseView',
loginRequired:true
})
现在,当我打开浏览器,输入
http://localhost/home/units/
然后我看到页面unit.html。
但是,如果我键入
http://localhost/home/viewcase/50/
某处,重定向接管和页面重定向到
http://localhost/home/main
如果从主网页,我点击其中有一个NG-点击一个链接像这样:
$state.go("home.viewCase", { caseId: '50' });
然后“本地”重定向发生和页面去
case-view.html
我不明白什么停止直接到视图:id。
为什么它适用于路线“单位”,但不适用于路线“案例”?
嗯,你没有一个摘要:.home真正的路由吗? –
不,我在项目中找不到任何对“抽象”的引用。 – oderfla
mmm看起来真的很奇怪......如果你尝试在app.js文件中添加如下内容:$ stateProvider .state('home,{/ 0},/ home,abstract:true, templateUrl:'modules/main/views/common.html' }) –