2016-05-21 17 views
0

Ich initiiere mich in AngularJS und ich habe einen Zweifel Anfänger.angularjs Controller und Module

Ich habe mein Hauptmodul mit mehreren Einheiten bereits auf dem Bildschirm angezeigt. Ich habe zufällig ein anderes Modul, aber ich weiß nicht, wie ich es in das Hauptmodul schreiben soll, denn wenn ich es als Abhängigkeit schreibe, dann gibt mir die Ansicht einen Fehler. Ich habe auch Zweifel, wie man verschiedene ngcontroller in HTML anwenden, weil das gleiche passiert, wenn ich die Hauptsache alles funktioniert gut ... wenn ich das zweite Modul, und nichts funktioniert ... Ich denke, das ist Abhängigkeit.

Ich verlasse meinen Code und Sie werden es besser verstehen. Vielen Dank.

JS-Code -------------------------------------------- --------

var app = angular.module('frutariaApp', 
    ['ngMaterial', 'ngMessages']); 
app.controller('AppCtrl', function($scope, $mdDialog, $mdMedia) { 

(das ist der Teil, den ich nicht über das Hauptmodul zu implementieren weiß).

angular.module('acc-test', ['ui.bootstrap']); 
    function AccordionCtrl($scope) { 
    $scope.oneAtATime = true; 
    } 
}); 

HTML ---------------------------

<html ng-app="frutariaApp"> 
<body ng-controller="AppCtrl"> 
<div class="accordion-test" ng-controller="AccordionCtrl"> //Ihave problem with this too 
    <accordion close-others="oneAtATime">  
    <accordion-group is-open="falsee">  
     <accordion-heading> 
      Number <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': isopen, 'glyphicon-chevron-right': !isopen}"></i> 
     </accordion-heading> 
      <ul> 
      <li><a href="#">0</a></li> 
      <li>1</li>   
     </ul> 
    </accordion-group> 
    </accordion> 
</div> 
</body> 
</html> 

Dank

+0

injiziert, was ' 'acc-test'' in Ihrem Code zu tun ?. Und warum haben Sie 'AccordionCtrl' definiert, wenn Sie' AppCtrl' bereits definiert haben? –

+0

Warum möchten Sie Bootstrap und eckiges Material zusammen verwenden? – Sajeetharan

Antwort

1

Um zu Verwenden Sie andere Module als die Hauptmodule, die sie als Abhängigkeit von einem anderen Modul injizieren müssen.

Versuchen Sie Ihr 'acc-test' Modul in die Haupt-App-Modul

var app = angular.module('frutariaApp', ['ngMaterial', 'ngMessages', 'acc-test']); 
+0

Und der Rest des Codes wird der gleiche sein ?? Ich meine, ich brauche diesen Teil des Codes ständig? oder angular.module ('acc-test) dissapear ?? ... (angular.module (' acc-test ', [' ui.bootstrap ']); Funktion AccordionCtrl ($ scope) { $ scope.oneAtATime = true; }) –

+0

Ja ... kann so viele Module haben, wie Sie möchten und solange jede als Abhängigkeit von mindestens einem anderen injiziert wird, werden alle zu einer "App" zusammengefasst. Dann verwenden Sie einen beliebigen Controller .... und können auch jeden Service von einem der Module in anderen Modulen verwenden, da sie alle eine große App sind – charlietfl