var myApp = angular.module('myApp', []);
var explicitInjector = angular.injector(['myApp'], true);
console.log('modchk outside ctrler', explicitInjector);
myApp.service('serv', function() {});
var x = angular.injector(['myApp'], true);
function MyCtrl1($scope, $injector) {
$scope.result = JSON.stringify($injector) == JSON.stringify(explicitInjector);
$scope.value1 = $injector.has('serv');
$scope.value2 = explicitInjector.has('serv');
}
myApp.controller('MyCtrl1', MyCtrl1);
<html ng-app='myApp'>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
<body>
<div id="div1" ng-controller="MyCtrl1">
<P>(JSON.stringify($injector)==JSON.stringify(explicitInjector))={{result}}
<hr>
<p>injector as argument to the controller($inject)={{value1}}</p>
<hr>
<p>injector from outside the controller(angular.injector())={{value2}}</p>
</div>
</body>
</html>
Hier angular.injector()
namentlich sowohl Objekt ich erhalte $injector
und auf dem Vergleich explicitInjector und innen Controller ich versuche, einen Injektor außerhalb Controller zu erstellen Inhalte zeigen dasselbe. wenn ich versuche, den Dienst vorhanden mit .has()
von beiden dort zu überprüfen, ist es true
mit $ Injektor und false
mit explicitInjector zeigt, wo es true
.help mich in diesem, Vielen Dank im Voraus gegeben haben sollte
danke, aber was war das Problem in 1.4.8? – Abhishek
in den letzten Jahren. das ist die stabilste Version von Ang. 1. und ziemlich stabil n vorhersagbar. Jede Version darüber ist auch in Ordnung. Der Kontext für diese bestimmte Injektion wurde nicht richtig in 1.4.x erhalten, was erklärt, warum dies geschah. Ich würde vorschlagen, dass Sie zu irgendeiner Version über 1.5.8 migrieren, um neue Eigenschaften wie Bestandteile, etc. zu verwenden. – Plankton
danke, nette Info – Abhishek