ng-init + ng-controller: seltsames Verhalten im Bereich des Controllers
Ich bin neu in Angular, aber ich genieße seine Herangehensweise wirklich. Ich habe eine HTML-Datei, mit der ich eine Variable initialisiereng-init
in einem<div>
Element, wo ich auch einen Controller mit dem deklariereng-controller
richtlinie:
<div ng-controller="myCtrl" ng-init='foo="bar"'>
Wenn ichconsole.log
das$scope
Objekt aus dem Controller-Skript kann ich das sehenfoo
Eigenschaft unter den anderen aufgeführt, aber wenn ich versuche, über das gleiche Skript darauf zuzugreifen, gibt es mirundefined
. Ich benutze auchBatarang und es zeigt mir ein Modell für die<div>
-scope das auch das beinhaltetfoo
Eigentum.
Ich weiß von der zweiten Antwort aufVariablen an AngularJS-Controller übergeben, Best Practice? dass ich das Problem lösen kann, indem ich meineng-init
Richtlinie in eine äußere<div>
, aber ich würde gerne wissen, was hier hinter den Kulissen wirklich los ist. Jede Hilfe sehr dankbar, danke im Voraus.
Die Reihenfolge der Richtlinien in derdiv
Element spielt keine Rolle. Das Problem ist immer noch da, auch wennng-init
wird vorher angegebenng-controller