Fehler: [$Injektor:unpr] Unbekannt-Anbieter: $scopeProvider <- $scope Fehler
Ich bin immer dieser gemeinsamen Fehler Fehler: [$injector:unpr] Unknown provider: $scopeProvider <- $scope
mit meinem test-Fall . Ich weiß, das ist ein Allgemeines , und es gibt einige andere threads zu erklären, mit Lösungen . Aber ich konnte wirklich nicht kommen mit einer Antwort auf mein problem . Kann jemand mich in die richtige Richtung?
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
});
});
Fehler-trace :
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)
Tippfehler! Es sollte
sehr dankbar für Ihre Antwort . dass mein Problem gelöst , aber letztlich zu einem anderen . Es sagt
$scope: scope
Sie fehlten, eine dollar-und keine Spritzen $rootScope
da Sie nicht abhängig aber das ist nicht das Problem.sehr dankbar für Ihre Antwort . dass mein Problem gelöst , aber letztlich zu einem anderen . Es sagt
Error: [$injector:unpr] Unknown provider: meetingProvider <- meeting <- ViewMeetingCtrl
. können Sie etwas zu geben für diesen Fehler ? Denn ich habe nicht alles genannt meetingProvider überall in meiner Lösung .
InformationsquelleAutor Malik | 2015-05-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersetzen
durch
Den controller injiziert werden muss mit einem argument namens $scope, nicht Umfang. Und $rootScope ist nicht Teil des injizierten Mitarbeiter des Controllers.
Error: [$injector:unpr] Unknown provider: meetingProvider <- meeting <- ViewMeetingCtrl
. Aber ich habe nicht alles genannt meetingProvider . ?Das bedeutet nur, dass Sie noch nicht geladen, jedes Modul mit einem Dienst namens "treffen". Jeder Dienst hat eine zugehörige provider (auch wenn nicht explizit definiert)
ViewMeetingCtrl.$inject = ['$scope', '$state', '$http', '$translate', 'notificationService', 'meetingService', '$modal', 'meeting', 'attachmentService'];
das sind die Abhängigkeiten die ich injizieren in der Strg . heißt das, ich muss injizieren Sie in den test-Fall auch ?Nein. Das bedeutet, dass seit Ihrem controller hängt an einem Dienst namens "treffen", muss dieser Dienst existiert. Wenn es existiert, Winkel injizieren.
danke . dass geholfen mein problem zu isolieren
InformationsquelleAutor JB Nizet
Gleichen Fehler hatte ich vergessen zu setzen
'$'
vorscope
imInformationsquelleAutor Paulivan MONOD