Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/02/2015, 02:06
nitsuga1986
 
Fecha de Ingreso: octubre-2008
Mensajes: 91
Antigüedad: 15 años, 6 meses
Puntos: 0
Acceso a un controlador [AngularJS]

Buenos días,

Tengo una aplicación en AngularJs, donde para moverme entre las rutas uso $state.
En mi App.js lo pongo de la siguiente manera:

Código:
.config(function($stateProvider, $urlRouterProvider) {
	$urlRouterProvider.otherwise('/');


	$stateProvider.state('home', {

		url: '/home',
		templateUrl: 'templates/home.html',
		controller: 'HomeCtrl'
	});
})
De manera que por lo que puedo entender, cada vez que vaya a la ruta "home" cargará la plantilla home.html y el controlador HomeCtrl.

Mi controlador sería este:
Código:
angular.module('starter.controllers', [])

.controller('HomeCtrl', function($scope,$state,$rootScope, $ionicPlatform) {
	
        $scope.jugador= $rootScope.players;

	$scope.newMatch = function() {

		$rootScope.item_position = 0;
		$rootScope.data = {
			"code_match": ''
		};
		
		($rootScope.players)?[]:new Array();	
		$state.go('create');	
	}
	
})
Si desde la plantilla Home.html, llamo a la función newMatch, funciona perfectamente, pero si quiero acceder a la variable que declaro antes de esa funcion llamada $scope.jugador, solo me accede la primera vez, como si una vez cargado el controlador, ya no accediera mas, solo a las funciones interiores.

He intentado añadir un ng-init="init()" en la plantilla para que llamase a dicha función cuando entrase en la plantilla, pero pasa lo mismo, solo accede a dicha función la primera vez que carga la plantilla. Si me dirijo mediante $state.go('home') ya no entra.

¿cual puede ser la causa?

Un saludo