无法使用 ui-router 从 url 栏更改状态
Cannot change state from url bar with ui-router
当我尝试直接进入 url 之类的 mysite.com/#!/about 时,我总是被重定向到主页状态。我有一个带有 ui-sref 链接的菜单,可以正常工作。它与 ngRoute 一起工作正常,但我有嵌套状态,所以我无法切换...如您所见,我没有做任何特别的事情...您可以在此处查看完整的源代码:https://github.com/misterch0c/SL-frontend
.config(function($locationProvider, $stateProvider, $urlRouterProvider, $popoverProvider, envServiceProvider, ngDialogProvider) {
$locationProvider.hashPrefix('!');
$stateProvider
.state('home', {
url: 'home',
views: {
'': {
templateUrl: 'views/home.html',
controller: 'HomeCtrl'
},
'filters@home': {
templateUrl: 'views/filters.html',
controller: 'FiltersCtrl'
},
}
})
.state('about', {
url: 'about',
templateUrl: 'views/about.html',
controller: 'AboutCtrl',
});
angular.extend($popoverProvider.defaults, {
placement: "bottom",
});
})
.run(['$state',
function($state) {
$state.transitionTo('home');
}]);
尝试用前导斜线 '/'
定义您的 url (每个州的)
$stateProvider
.state('home', {
url: '/home',
...
当我尝试直接进入 url 之类的 mysite.com/#!/about 时,我总是被重定向到主页状态。我有一个带有 ui-sref 链接的菜单,可以正常工作。它与 ngRoute 一起工作正常,但我有嵌套状态,所以我无法切换...如您所见,我没有做任何特别的事情...您可以在此处查看完整的源代码:https://github.com/misterch0c/SL-frontend
.config(function($locationProvider, $stateProvider, $urlRouterProvider, $popoverProvider, envServiceProvider, ngDialogProvider) {
$locationProvider.hashPrefix('!');
$stateProvider
.state('home', {
url: 'home',
views: {
'': {
templateUrl: 'views/home.html',
controller: 'HomeCtrl'
},
'filters@home': {
templateUrl: 'views/filters.html',
controller: 'FiltersCtrl'
},
}
})
.state('about', {
url: 'about',
templateUrl: 'views/about.html',
controller: 'AboutCtrl',
});
angular.extend($popoverProvider.defaults, {
placement: "bottom",
});
})
.run(['$state',
function($state) {
$state.transitionTo('home');
}]);
尝试用前导斜线 '/'
定义您的 url (每个州的)$stateProvider
.state('home', {
url: '/home',
...