ng-init
dovrebbe funzionare in questo modo, perché è utilizzato per inizializzare i dati.
Un esempio molto semplice:
<ul ng-init="list = [1,2,3,4]">
<li ng-repeat="l in list"></li>
</ul>
Se si sta tentando di eseguire qualcosa mentre i carichi del controller, in realtà è molto più semplice di quanto si pensava:
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()
})
O ancora più semplice, se non hai bisogno della funzione (nessuna chiusura o altro)
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')
})
Edit - supponendo che stai usando ngView
:
avere il codice corsa su quando la pagina è a pieno carico è necessario impostare un osservatore sull'evento $viewContentLoaded
, in questo modo:
$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')
})
})
che è come funziona – Mosho
Lei ha lo stesso problema con un problema qui [inserire descrizione collegamento qui] [1] [1]: http://stackoverflow.com/questions/17104639/ng-init- ng-controller-strange-behavior-in-the-controller-scope – ThomasP1988
Sono perplesso da questa domanda, è un problema che funzioni nel modo in cui hai osservato che funziona (e come è progettato per funzionare?) .. Quale risposta stai cercando oltre a quella che @Mosho ha fornito ??? – Jens