Warum ist meine Richtlinie werfen "Fehler: $Injektor:unpr Unbekannten Anbieter"
Habe ich arbeiten auf die Umgestaltung meiner Controller, Fabriken und Richtlinien für die empfohlene Angular-Stil-Guide für Winkel-Snippets.
Ich habe die Controller und Fabriken arbeiten richtig mit dem neuen Stil, aber nicht den Richtlinien.
Unknown provider: $scopeProvider <- $scope <- platformHeaderDirective
Die neue Richtlinie style mit Fehler:
(function() { "use strict";
angular
.module('platformHeaderDirectives', [])
.directive('platformHeader', directive);
directive.$inject = ['$scope'];
/* @ngInject */
function directive ($scope) {
var directive = {
templateUrl : "header/platform_header/platformHeader.html",
restrict : "E",
replace : true,
bindToController: true,
controller: Controller,
controllerAs: 'vm',
link: link,
scope: {
}
};
return directive;
function link(scope, element, attrs) {
}
}
/* @ngInject */
function Controller () {
}
})();
Meine alten arbeiten-Richtlinie, die nicht werfen Fehler:
(function() { "use strict";
angular.module('platformHeaderDirectives', [])
.directive('platformHeader', function() {
return {
templateUrl : "header/platform_header/platformHeader.html",
restrict : "E",
replace : true,
scope : false,
controller : ['$scope',
function($scope) {
/** Init platformHeader scope */
//var vs = $scope;
}]
}
});
})();
- Die Richtlinie nimmt nicht
scope
Injektion. Bitte entfernen Sie es und versuchen. - ah! Das war es!!! Danke 🙂 Hmm ich muss das Ausgabe-Anfrage für das repo
Du musst angemeldet sein, um einen Kommentar abzugeben.
$scope
kann nicht injiziert werden, um die Richtlinie. ich habe geändert, code zu injizieren$scope
im controller der Richtlinie.Code:
JS:
Ich weiß, Sie bekam Ihre Antwort, aber lassen Sie mich erklären, die tatsächliche Bild.
$scope ist nicht-a-service(
$scopeProvider
ist nicht vorhanden in angular js) es ist etwas besonderes, injiziert, die durch die Winkel selbst werden in den controller als Kind$rootScope.
damit Sie nicht explizit injizieren, es im service,der Richtlinie...etc.
Aber die Antwort erklärt sich durch 'jad-panda" Sie können injizieren es explizit in der Steuerung von direcitve (nicht direkt auf die Richtlinie).