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.

BEARBEITEN

Die Reihenfolge der Richtlinien in derdiv Element spielt keine Rolle. Das Problem ist immer noch da, auch wennng-init wird vorher angegebenng-controller

Antworten auf die Frage(3)

Ihre Antwort auf die Frage