2017-04-27 4 views
0

So wie controllers Modul "Ebene" unabhängig sind und überall im gesamten Anwendungsstapel verwendet werden kann, frage ich mich, ob es eine Möglichkeit für Kindmodul gibt, die Direktiven der Elternmodule zu verwenden, ohne sie für jedes Kindmodul als Abhängigkeit zuweisen zu müssen.Können Eltern-Modul-Direktiven in untergeordneten Modulen wie Controllern verwendet werden?

Beispiel dafür, wie ich hatte gehofft, dass Richtlinien der Arbeit (in der Sicht eines controller) haben:

angular.module('app.child').config(function($stateProvider) { 
    $stateProvider.state('child', { 
    url: '/child', 
    views: { 
     'header': { 
     controller: 'parentController', 
     templateUrl: 'child.html' 
     } 
    } 
    }); 
}); 

angular.module('app').controller('parentController', function() { 
    console.log('test'); 
}); 

Also, was ich frage mich, wenn

angular.module('app', ['app.child']); 
angular.module('app.child', ['ui.router']); 

kann auch als

geschrieben werden
angular.module('app', ['app.child', 'ui.router']); 
angular.module('app.child', []); 

in irgendeiner Weise, wo ui.router noch für das Kind verfügbar ist Modul.

Wenn ich dies in meinem bestehenden Projekt tun, bekomme ich Fehler.

Antwort

1

Gerade als Controller Modul „level“ unabhängig und können überall

verwendet werden Dies ist wahr und das ist etwas, sollten Sie nie tun. Modul sollte selbstkonsistent und unabhängig von übergeordneten Modulen sein - es sollte alle erforderlichen Abhängigkeiten deklarieren.

I.e. wenn du 2 module hast: app und app.child, und irgendwo in app.child hast du: <div ui-sref=... als deine app.child von ui-router abhängen muss. (Dies wird immer noch funktionieren, wenn es nicht tut, aber Eltern tut - aber das bedeutet nicht, dass dies der richtige Weg ist)

N.B. Viele Apps können innerhalb eines einzelnen Moduls verlassen werden. Sind Sie sicher, dass Sie mehr als einen brauchen?

+0

Ich habe gerade gehört, dass die Verwendung mehrerer Module ist eine gute Praxis beim Erstellen von Anwendungen, also wollte ich die Grundstruktur gut machen. Allerdings verlangsamt es meine Anwendung sehr, wenn ich, sagen wir, 5 untergeordnete Module habe, und jeder von ihnen verwendet, sagen wir, "Ui-Router" als Abhängigkeit? Oder sollte ich sie irgendwie gruppieren? – PhyCoMath

+0

nein, es ist nicht langsam, Sie haben möglicherweise die gleiche Abhängigkeit mehrmals - es ist in Ordnung. Verwenden Sie mehrere Module - genau wie mehrere Projekte in Maven/JAVA, möglicherweise haben Sie sie, möglicherweise nicht. Hier geht es mehr um die Codeorganisation, bis Sie Ihren Code für mehrere Apps/Benutzer freigeben. (Wie npm/bower) –

+0

Großartig! Danke für die Hilfe, das werde ich mir merken :) – PhyCoMath

Verwandte Themen