2016-11-02 5 views
0

Ich habe zwei Angular NVD3-Apps zur Anzeige von 2 Grafiken auf meiner HTML-Seite implementiert. Ich lese, ich könnte beides implementieren, indem ich es mit ng-Modulen anstelle von ng-app mache, aber irgendwie funktioniert es nicht. Kannst du mir helfen?Mehrere Angular JS-Apps

<div ng-modules="temperatureChart" ng-controller="temperatureCtrl"> 
    <nvd3 options="options" data="data" class="with-3d-shadow with-transitions"></nvd3> 
    <br><a href="http://krispo.github.io/angular-nvd3/" target="_blank" style="float: right;">See more</a> 
</div> 
<div ng-modules="heatcounterChart" ng-controller="heatingCtrl"> 
    <nvd3 options="options" data="data" class="with-3d-shadow with-transitions"></nvd3> 
    <br><a href="http://krispo.github.io/angular-nvd3/" target="_blank" style="float: right;">See more</a> 
</div> 

So habe ich es versucht, aber es funktioniert nicht.

+1

Was ist 'ng-modules'? – zeroflagL

+0

"Ich habe gelesen, dass ich beides implementieren kann, indem ich es mit ng-Modulen anstelle von ng-app mache". ** wo hast du das gelesen? Das scheint nicht allgemein bekannt zu sein .... – Claies

Antwort

1

Um 2 Winkel Apps auf Ihrer Seite nutzen zu können, müssen Sie nicht Verwendung ng-app App Bootstrap. Stattdessen sollten Sie das Bootstrapping über ein Skript verzögern, das sich auf dem Hauptwrapper für die beiden Apps befindet. Nachdem Sie Ihre Apps, Skripts usw. geladen haben, können Sie angular.bootstrap('document', <ng dependencies array>) verwenden.

Sie haben Probleme können die richtige Reihenfolge von Abhängigkeiten für Sie, dass sowohl Ihre Anwendungen in der Bereitstellung der Rennbedingungen, zirkuläre Abhängigkeiten haben, etc. Mehr auf manuell Bootstrapping - https://docs.angularjs.org/api/ng/function/angular.bootstrap

0

Zuerst können Sie immer nur eine ng-App auf Ihrer Seite haben. Zweitens gibt es keine "ng-Module" -Richtlinie (soweit ich weiß). Die gesuchte Richtlinie lautet "ng-app"

Wenn Sie mehrere Module haben, fügen Sie Ihrem Code ein neues Modul hinzu, das von all diesen Komponenten abhängt. Dieses neue Modul wird dann in deine ng-App gehen.

JS:

angular.module("myApp",["temperatureChart","heatcounterChart"]); 

HTML:

<body ng-app="myApp">...