2016-03-21 4 views
1

Mein Controller wird etwas beschäftigt und die Suche nach der Funktion, die ich suche, wird mühsam. Ich würde gerne einzelne Dateien für einige meiner Controller-Funktionen haben. Wie kann ich das erreichen? Gibt es etwas wie ng-include für den Controller zu verwenden?Kann ich Controller-Funktionen in externe Dateien extrahieren?

+0

Siehe https://docs.angularjs.org/guide/services – Aliz

+0

@Aliz Ich sehe nicht wirklich, wie das mit eckigen Diensten zusammenhängt – axelduch

+0

"Ich hätte gerne einzelne Dateien für einige meiner Controller-Funktionen" hat mich über "services" nachgedacht, wenn nicht, könntest du konkreter sein oder uns Beispiele geben? – Aliz

Antwort

0

Sie könnten das Mixin-Muster verwenden. Dadurch können Sie Ihre Controller mit anderen Controllern erweitern. Als Ergebnis haben Sie jetzt zwei verschiedene Controller, während beide zur gleichen Zeit ausgeführt werden soll:

app.controller('AnyController', ['$scope' 
    function ($scope) { 
     return { 
      myFunction: function() { 
       // do something 
      } 
     } 
    } 
]); 

app.controller('MyMainController', ['$scope' 
    function ($scope) { 
     var anyThing = $controller('AnyController as anyThing',{$scope: $scope}), 
     $scope.anyThing = function() { 
      // those two options are now both valid: 
      anyThing.myFunction(); 

      $scope.anyThing.myFunction(); 
     } 
    } 
]); 

Jetzt können Sie Ihre separaten Controller in verschiedene Dateien verschieben.

+0

Ich kann nicht scheinen, um dies für mich zu arbeiten –

Verwandte Themen