AngularJS: resolve中的var不会被注入到控制器(未知的提供商)

AngularJS: var in resolve is not injected in controller (unknown provider)

本文关键字:控制器 未知 提供商 注入 resolve 中的 var AngularJS      更新时间:2023-09-26

在解析中出现var "frameworks"的未知提供者错误,是什么问题?谢谢!FrameworkService.loadFrameworks()从REST服务返回一个JSON数组。

app.js

$routeProvider.when('/', {
    templateUrl : "views/admin.html",
    controller : "FrameworkController",
     resolve : {
        frameworks : function(FrameworkService) {
            return FrameworkService.loadFrameworks();
        }
    }
});

FrameworkController.js

angular.module('app.controllers', []).controller(
    'FrameworkController',
    [ '$scope', 'FrameworkService', 'frameworks',
            function($scope, frameworks) {
                $scope.frameworks = frameworks;
            } ]);
误差

Error: [$injector:unpr] Unknown provider: frameworksProvider <- frameworks

编辑

这里显示的代码没问题!问题是在FrameworkService,做异步http请求,所以var框架没有注入。

你的模块中没有框架提供商,所以注入器不能给你一个。您需要创建一个服务、工厂等。