$stateProvider resovle 无法找到的原因

Posted JamKong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了$stateProvider resovle 无法找到的原因相关的知识,希望对你有一定的参考价值。

$stateProvider 在写resolve的时候,也要写上controller,不能直接在页面上用ng-controller 来指定!!!!技术分享图片

不然的话,就是报依赖注入异常,找不到该provider。

 

事情经过:

今天在写$stateProvider resolve的时候一直报controller 无法找到该provider

错误代码如下:

// Router 路由层
var articleModel = angular.module(‘SEProjectApp.articles‘).config([‘$stateProvider‘,
    function($stateProvider) {
        // Articles state routing
        $stateProvider
            .state(‘app.articles‘, {
                abstract: true,
                url: ‘/articles‘,
                template: ‘<ui-view/>‘
            })
            .state(‘app.articles.list‘, {
                url: ‘/list‘,
                templateUrl: ‘modules/articles/client/views/list-articles.client.view.html,
                resolve: {
                    simpleObj: function() {
                        return { value: ‘simple!‘ };
                    }
                }
            })

    }

]);
// Controller 层
angular.module(‘SEProjectApp.articles‘).controller(‘ArticlesController‘, ["simpleObj", function (simpleObj) {
 .... 略
}]);
// 页面代码
<section ng-controller="ArticlesController" ng-init="find()">
.... 略
</section>

 

后来,在router层的state中指定 controller: ‘ArticlesController‘ 并且将页面中的ng-controller的指令去掉,才成功运行。

 

以上是关于$stateProvider resovle 无法找到的原因的主要内容,如果未能解决你的问题,请参考以下文章

$routeProvider 和 $stateProvider 有啥区别?

Angular $stateProvider - 不匹配路由或“空白”路由

否则在StateProvider上

vscode下import语句报[eslint]unable to resolve path to module (import/no-resovled)

单击链接时,Angularjs ui-view路由无法正常工作[关闭]

Spring Boot - 具有安全性的 Angularjs $stateProvider