加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 错误:[$injector:unpr]未知提供者:$scopeProvid

发布时间:2020-12-17 10:20:45 所属栏目:安全 来源:网络整理
导读:我得到这个常见错误错误:[$injector:unpr]未知提供者:$scopeProvider - $scope with my test case.我知道这是一个常见的,并且很少有其他线程解释解决方案.但我真的无法找到我的问题的答案.谁能指出我正确的方向? ViewMeetingCtrl, (function () { 'use s
我得到这个常见错误错误:[$injector:unpr]未知提供者:$scopeProvider< - $scope with my test case.我知道这是一个常见的,并且很少有其他线程解释解决方案.但我真的无法找到我的问题的答案.谁能指出我正确的方向? ViewMeetingCtrl,
(function () {
    'use strict';
    angular.module('MyApp').controller('ViewMeetingCtrl',ViewMeetingCtrl);

    ViewMeetingCtrl.$inject = ['$scope','$state','$http','$translate','notificationService','meetingService','$modal','meeting','attachmentService'];

    function ViewMeetingCtrl($scope,$state,$http,$translate,notificationService,meetingService,$modal,meeting,attachmentService) {
        $scope.meeting = meeting;
        $scope.test = "testvalue";
        if (meeting.Status == 'Cancelled')
        {
            $scope.actionButtons = false;
        }
        else
        {
            $scope.actionButtons = true;
        }

        //more code
    }
})();

MeetingCtrlSpec.js

describe('ViewMeetingCtrl',function () {
    var $rootScope,scope,$controller,meetingService;

    beforeEach(angular.mock.module('MyApp'));

    beforeEach(inject(function ($rootScope,meetingService) {
        scope = $rootScope.$new();
        $controller('ViewMeetingCtrl',{
            meetingService: meetingService,'$rootScope' : $rootScope,scope: scope
        });       

    }));

    it('should change greeting value if name value is changed',function () {
        //some assertion
    });
});

错误跟踪:

Firefox 37.0.0 (Windows 8.1) ViewMeetingCtrl should change greeting value if name value is changed FAILED
        Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- ViewMeetingCtrl
        http://errors.angularjs.org/1.3.15/$injector/unpr?p0=%24scopeProvider%20%3C-%20%24scope%20%3C-%20ViewMeetingCtrl

        minErr/<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:63:12
        createInjector/providerCache.$injector<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/ang
ular/angular.js:4015:19
        getService@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4162:39
        createInjector/instanceCache.$injector<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/ang
ular/angular.js:4020:28
        getService@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4162:39
        invoke@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4194:1
        instantiate@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4211:27
        $ControllerProvider/this.$get</<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/an
gular.js:8501:18
        angular.mock.$ControllerDecorator</<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/node_modules/angular-mo
cks/angular-mocks.js:1878:12
        @C:/Users/dell pc/Documents/Work/MyApp/FLIS.Client.Tests/test/company/MeetingCtrlSpec.js:8:1
        invoke@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4203:14
        workFn@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/node_modules/angular-mocks/angular-mocks.js:2436:11
        angular.mock.inject@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/node_modules/angular-mocks/angular-mocks
.js:2407:25
        @C:/Users/dell pc/Documents/Work/MyApp/Client.Tests/test/company/MeetingCtrlSpec.js:6:16
        @C:/Users/dell pc/Documents/Work/MyApp/Client.Tests/test/company/MeetingCtrlSpec.js:1:1
Firefox 37.0.0 (Windows 8.1): Executed 3 of 3 (1 FAILED) (0.094 secs / 0.091 secs)
更换
$controller('ViewMeetingCtrl',{
        meetingService: meetingService,scope: scope
    });

通过

$controller('ViewMeetingCtrl',$scope: scope
    });

必须使用名为$scope的参数注入控制器,而不是作用域.并且$rootScope不是控制器注入的协作者的一部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读