ng-init
soll so arbeiten, weil es zu initialisieren Daten verwendet wird.
Ein sehr einfaches Beispiel:
<ul ng-init="list = [1,2,3,4]">
<li ng-repeat="l in list"></li>
</ul>
Wenn Sie etwas, während der Controller Lasten versuchen, auszuführen, ist es eigentlich viel einfacher, als Sie dachten:
app.controller('mainCtrl', function ($scope) {
var init = function ($scope) {
// do whatever you need to do to initialize your controller
$scope.someData = ["Hey", "I'm", "Alive"]
$scope.otherData = localStorage.getItem('myBackup')
}
init()
})
Oder noch einfacher, wenn Sie brauchen die Funktion nicht (keine Verschlüsse oder was auch immer)
app.controller('mainCtrl', function ($scope) {
// do whatever you need to do to initialize your controller
$scope.someData = ["Hey", "I'm", "Alive"]
$scope.otherData = localStorage.getItem('myBackup')
})
Bearbeiten - vorausgesetzt, Sie verwenden ngView
:
auf den Code ausführen zu haben, wenn die Seite vollständig geladen ist Sie ein Beobachter auf der Veranstaltung $viewContentLoaded
, wie diese setzen soll
$scope.$on('$viewContentLoaded', function(){
//Here your view content is fully loaded !!
});
app.controller('mainCtrl', function ($scope) {
// This event is triggered when the view has finished loading
$scope.$on('$viewContentLoaded', function() {
$scope.someData = ["Hey", "I'm", "Alive"]
$scope.otherData = localStorage.getItem('myBackup')
})
})
, das ist wie es funktioniert – Mosho
Sie das gleiche Problem mit einem Problem hier haben [1] [1] [link Beschreibung hier eingeben]: http://stackoverflow.com/questions/17104639/ng-init- ng-controller-somethy-in-the-controllers-scope – ThomasP1988
Ich bin verwirrt von dieser Frage, ist es ein Problem, dass es so funktioniert, wie Sie beobachtet haben, dass es funktioniert (und wie es entworfen ist zu arbeiten?) .. Welche Antwort suchst du neben dem einen @Mosho zur Verfügung gestellt ??? – Jens