这是我的$ 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

09-18 10:53