2016-11-30 1 views
0

Ich habe eine Seite html1.html mit dem Modul mod1eckig, wie kombinieren Module

[html1.html] 
<html lang="en" ng-app="mod1"> 
... 
<script src="scripts/services/Data.js"></script> 

Und data.js ist eine Fabrik für mod1

[Data.js] 
angular.module('mod1').factory('Data',[function(){ 
... 
}]); 

Dann habe ich das gleiche mit einer zweiten Seite html2.html mit dem Modul mod2, und da möchte ich auch als die gleiche Fabrik verwenden, bevor

[html2.html] 
<html lang="en" ng-app="mod2"> 
... 
<script src="scripts/services/Data.js"></script> 
<script src="scripts/services/Train.js"></script> 

Train.js ist eine Fabrik für mod2 und dann zu kombinieren mod1 und mod2 ich das tun

folgende
[Train.js] 
var mod2 = angular.module('mod2',[angular.module('mod1')]); 
mod2.factory('Train',[function(){ 
... 
}]); 

Aber Winkel nicht findet das Modul mod1. Was vermisse ich?

* Sowohl html1.html und html2.html sind Renderer aus der gleichen Elektronenhaupt

+0

Warten. Wo ist das 'mod1' Modul definiert? – Phil

Antwort

1

Modulabhängigkeiten mit Namen angegeben sind, so in Train.js

angular.module('mod2', ['mod1']) 

nur Sie müssen Fügen Sie die Datei ein, die mod1 definiert, dh die Datei mit

Sie fügen diese Datei in html2.html sowie alle anderen Dateien mit Anbietern (wie Data.js) und alles in diesem Modul wird verfügbar sein.

Vermutlich haben Sie bereits das Modul mod1 in Data.js oder eine andere Datei definiert. Wenn Sie es erneut so definieren, wie Sie in Train.js waren, wird der registrierte Name durch einen neuen, leeren überschrieben.

+0

Ja, das war's, danke! – Gerard