这是我的$ stateProvider配置
app.config(function ($stateProvider, $urlRouterProvider) {
var helloState = {
name: 'uploadForm',
url: '/uploadForm',
templateUrl: 'templates/step_Form/form.html?v=' + new Date().getDay()
}
var uploadState = {
name: 'uploadForm.upload',
url: '/upload',
templateUrl: 'templates/step_Form/form-upload.html?v=' + new Date().getDay()
}
var contentState = {
name: 'uploadForm.content',
url: '/content',
templateUrl: 'templates/step_Form/form-content.html?v=' + new Date().getDay()
}
$stateProvider.state(helloState);
$stateProvider.state(uploadState);
$stateProvider.state(contentState);
})
是否有可能证明状态已经声明?
像这样 :
if($stateProvider.state.??? == null)
$stateProvider.state(helloState);
因为我有另一个带有重定向的页面,并且它在配置中传递了两次,并出现错误“ State helloState has beenclared”
最佳答案
您可以使用$state.get()
,它返回$stateProvider
中所有已声明状态的数组。
当然,您必须在要执行检查的位置插入$state
。