Tôi nhận được Lỗi lỗi phổ biến này: [$injector:unpr] Unknown provider: $scopeProvider <- $scope
với trường hợp thử nghiệm của tôi. Tôi biết đây là một trong những phổ biến, và có vài chủ đề khác giải thích với các giải pháp. Nhưng tôi thực sự không thể đưa ra câu trả lời cho vấn đề của tôi. ai đó có thể chỉ cho tôi phương hướng đúng không?
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, $controller, 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
});
});
Lỗi dấu vết:
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
[email protected]:/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
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4162:39
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4194:1
[email protected]:/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
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4203:14
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/node_modules/angular-mocks/angular-mocks.js:2436:11
[email protected]:/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)
Typo! Nó phải là '$ scope: scope' bạn đã bỏ lỡ một đô la và không cần phải tiêm' $ rootScope' vì bạn không phụ thuộc dù đó không phải là vấn đề. – PSL
@PSL, nhiều nghĩa vụ cho câu trả lời của bạn. đã giải quyết được vấn đề của tôi, nhưng cuối cùng dẫn đến một vấn đề khác. Nó nói 'Lỗi: [$ injector: unh] Nhà cung cấp không xác định: meetingProvider <- meeting <- ViewMeetingCtrl'. bạn có thể đưa ra một cái gì đó cho lỗi này? Bởi vì tôi không có bất cứ điều gì gọi là meetProvider bất cứ nơi nào trong giải pháp của tôi. – Malik