Ich möchte Abhängigkeiten hinzufügen, nachdem AngularJS Bootstrapped ist. Ich habe versucht, es über app.requires.push('app.main');
zu tun, wie in diesem Beitrag vorgeschlagen (re-open and add dependencies to an already bootstrapped application). Es funktioniert jedoch nicht.AngularJS hinzufügen Abhängigkeiten nach dem Bootstrapping
Hier ist mein Beispielcode:
index.html
<!DOCTYPE html>
<html ng-app="app">
<head>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="https://code.angularjs.org/1.4.3/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>
</body>
</html>
script.js
var app = angular
.module('app',[])
.run(function($http){
$http.get("script2.js").success(function(data){
eval(data);
//app.requires.push('app.main');
}).error(function(){
alert("error");
});
});
script2.js
alert("it's loaded");
angular.module('app.main', [])
.run(function(){
alert("it's running");
});
console.log(app);
app.requires.push('app.main');
http://plnkr.co/edit/gN2kkoyqamB4OANXMUjA
Warum funktioniert es nicht? Wie kann ich es reparieren?
warum glaubst du, das hat nicht funktioniert? http://plnkr.co/edit/T7B5t9KZTKGpSAfkJxsj?p=preview – lukkea
@lukkea Wenn es funktioniert, sollte es zeigen, dass es "läuft" Alarm-Box. – user1995781
mein Verdacht wäre, dass .run nicht passiert, wenn Sie über request.add hinzufügen (die App wurde bereits beim Laden des Skripts ausgeführt); haben Sie versucht, einen Dienst zu app.main hinzuzufügen und diesen Dienst von der App aus anzurufen? (Ich weiß, dass dies nicht zu Ihrer Lösung passt, aber es würde Ihnen zumindest eine Vorstellung davon geben, ob app.main tatsächlich korrekt für die Verwendung aus der App geladen wird. – lukkea