Angular ui-router 自动改变路由
Angualar ui-router automatically changing route
我在 angular 状态更改期间遇到问题
我的状态配置如下:
function($stateProvider) {
$stateProvider
.state('monetization', {
url: '/monetization',
templateUrl: 'app/modules/monetization/monetization.html',
controller: 'MonetizationCtrl'
})
.state('monetization.configurationGeneral', {
url: '^/monetization/configuration/general',
templateUrl: 'app/modules/monetization/configuration/general/general.html',
controller: 'MonetizationConfigurationGeneralCtrl',
})
.state('monetization.configurationVersion', {
url: '^/monetization/configuration/version',
templateUrl: 'app/modules/monetization/configuration/version/version.html',
controller: 'MonetizationConfigurationVersionCtrl',
})
.state('monetization.categorySearch', {
url: '^/monetization/configuration/categorySearch',
templateUrl: 'app/modules/monetization/configuration/category/categorySearch.html',
controller: 'MonetizationCategorySearchCtrl',
})
//Provider Configuration
.state('monetization.providerList', {
url: '^/monetization/provider/list',
templateUrl: 'app/modules/monetization/provider/providerList.html',
controller: 'MonetizationProviderListCtrl',
})
.state('monetization.providerDetails', {
url: '^/monetization/providerDetails/:providerId',
templateUrl: 'app/modules/monetization/provider/providerHistory.html',
controller: 'ProviderHistoryCtrl',
params: {
providerId: null
}
});
}
我被自动从 monetization.categorySearch 重定向到 montetization.providerList
我没有任何线索请帮忙..
我可以确认,您的状态定义按原样没有问题 - 没有打开重定向。所以,它必须在其他地方——而不是在 $stateProvider
配置中。
检查 this plunker 以查看所有这些链接是否按预期工作:
<a href="#/monetization">
<a href="#/monetization/configuration/general">
<a href="#/monetization/configuration/categorySearch">
<a href="#/monetization/provider/list">
<a ui-sref="monetization">
<a ui-sref="monetization.configurationGeneral">
<a ui-sref="monetization.categorySearch">
<a ui-sref="monetization.providerList">
检查一下here
注意我在上面看到的小问题是错字 "montetization.providerList"
I am automatically being redirected from monetization.categorySearch to montetization.providerList
应该是monetization.providerList(不是蒙特...),但应该与那个问题无关
建议,仔细检查所有 event
钩子,如:
$rootScope.$on('$stateChangeStart', function(evt, to, params) {
...
$state.go('monetization.providerList')
});
(检查例如:)
还有 url 提供商
上的 .when 设置
$urlRouterProvider.when('/monetization/configuration/categorySearch'
, '/monetization/provider/list');
(检查例如:Angular UI-Router $urlRouterProvider .when not working when I click <a ui-sref="...">)
我在 angular 状态更改期间遇到问题
我的状态配置如下:
function($stateProvider) {
$stateProvider
.state('monetization', {
url: '/monetization',
templateUrl: 'app/modules/monetization/monetization.html',
controller: 'MonetizationCtrl'
})
.state('monetization.configurationGeneral', {
url: '^/monetization/configuration/general',
templateUrl: 'app/modules/monetization/configuration/general/general.html',
controller: 'MonetizationConfigurationGeneralCtrl',
})
.state('monetization.configurationVersion', {
url: '^/monetization/configuration/version',
templateUrl: 'app/modules/monetization/configuration/version/version.html',
controller: 'MonetizationConfigurationVersionCtrl',
})
.state('monetization.categorySearch', {
url: '^/monetization/configuration/categorySearch',
templateUrl: 'app/modules/monetization/configuration/category/categorySearch.html',
controller: 'MonetizationCategorySearchCtrl',
})
//Provider Configuration
.state('monetization.providerList', {
url: '^/monetization/provider/list',
templateUrl: 'app/modules/monetization/provider/providerList.html',
controller: 'MonetizationProviderListCtrl',
})
.state('monetization.providerDetails', {
url: '^/monetization/providerDetails/:providerId',
templateUrl: 'app/modules/monetization/provider/providerHistory.html',
controller: 'ProviderHistoryCtrl',
params: {
providerId: null
}
});
}
我被自动从 monetization.categorySearch 重定向到 montetization.providerList
我没有任何线索请帮忙..
我可以确认,您的状态定义按原样没有问题 - 没有打开重定向。所以,它必须在其他地方——而不是在 $stateProvider
配置中。
检查 this plunker 以查看所有这些链接是否按预期工作:
<a href="#/monetization">
<a href="#/monetization/configuration/general">
<a href="#/monetization/configuration/categorySearch">
<a href="#/monetization/provider/list">
<a ui-sref="monetization">
<a ui-sref="monetization.configurationGeneral">
<a ui-sref="monetization.categorySearch">
<a ui-sref="monetization.providerList">
检查一下here
注意我在上面看到的小问题是错字 "montetization.providerList"
I am automatically being redirected from monetization.categorySearch to montetization.providerList
应该是monetization.providerList(不是蒙特...),但应该与那个问题无关
建议,仔细检查所有 event
钩子,如:
$rootScope.$on('$stateChangeStart', function(evt, to, params) {
...
$state.go('monetization.providerList')
});
(检查例如:
还有 url 提供商
上的 .when 设置$urlRouterProvider.when('/monetization/configuration/categorySearch'
, '/monetization/provider/list');
(检查例如:Angular UI-Router $urlRouterProvider .when not working when I click <a ui-sref="...">)