2017-07-03 3 views
0

Ich benutze angularjs 1.2 in meinem Projekt.Irgendeine Idee warum Controller nie Feuer ist?

Hier Modul und Controller:

(function() { 
    "use strict"; 

    angular.module('dashboard', ['ngRoute', 'layersProperty']) 
    .controller('dashboardController', 
      function ($scope) { 
       //never fire! 
       var self = this; 
       $scope.data = "bbbbb"; 
      }) 
})(); 

hier ist Ansicht:

<div ng-app="dashboard" data-role="page" id="layersProperty" data-add-back-btn="true" style="background-color:red"> 
    <div ng-controller="dashboardController"> 
      {{data}} 
    </div> 
</div> 

Aber das Problem ist, dass die Steuerung niemals Feuer Jede Idee, warum Controller nie ist Feuer!?

+0

Haben Sie die Skripts in Ihre HTML-Seite eingefügt? Haben Sie irgendwelche Konsolenfehler? – devqon

+0

@devqon, ja ich habe Skripte hinzugefügt und ich bekomme keine Fehler in der Konsole – Michael

+0

Wenn Sie irgendwo '{{1 + 1}} 'einschließen bekommen Sie eine' 2 'als Ausgabe? – devqon

Antwort

0

Stellen Sie sicher, dass bei der Injektion von ngRoute und layersProperty beide JavaScript-Dateien vor der Controller-Datei enthalten sind, in der Sie den Controller dashboardController haben. Dies liegt daran, dass Angular Ihnen [$injector:modulerr] einen Fehler zufügt, wenn Sie diesen Code vor Ihrer Controller-Datei für dashboardController nicht eingefügt haben, da dashboardController von ngRoute und layersProperty abhängig ist.

In Ihrem obigen Code, wenn Sie ['ngRoute', 'layersProperty'] entfernen und durch [] ersetzen, dann wird Ihr controller aufrufen. Also muss es ein Problem geben, wo eckig ngRoute und layersProperty Servicedateien nicht finden konnte.

+0

Thaks für den Post. Diese Zeile angular.module ('Dashboard', ['ngRoute', 'layersProperty ']) Ich cheche zu diesem angular.module (' dashboard ', []) Und noch Controller ist nicht gefeuert.Ich bekomme keine Fehler in der Konsole. – Michael

+0

Siehe dieses jsfiddle http://jsfiddle.net/HgDA7/654/ –

0

Überprüfen Sie, ob Sie einen Verweis auf angularjs in Ihrem Haupt-HTML haben.

Verwandte Themen