Cómo ejecutar la función Ejecutar antes de cualquier controlador -- javascript campo con angularjs camp Relacionados El problema

How to execute Run function before any controller


0
vote

problema

Español

Estoy usando AngularJS para hacer mi primera aplicación, quiero que la función de ejecución se ejecute antes de cualquier controlador.

Mi función de ejecución se ve como:

  .run(function ($rootScope,authentification)  {      teamsFactory.sendAuthent().then(function(response)  {     $rootScope.authentdata=response.data;     }); })   

Mi servicio donde hago la autenticación:

  ....  public void onResume()  { super.onResume(); // PendingIntent Broadcast from AlarmManager Intent intent = new Intent(this, MyAMReceiver.class); PendingIntent pendingintent = PendingIntent.getBroadcast(this, 112358, intent, PendingIntent.FLAG_CANCEL_CURRENT);  // Registering pending intent with AlarmManager AlarmManager alarmmanager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); alarmmanager.cancel(pendingintent); // Cancel any existing alarms alarmmanager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+10000,60000, pendingintent); // Delay first trigger 10s, timer interval 60s 0  

y este es mi controlador donde uso los datos de rootscope:

  ....  public void onResume()  { super.onResume(); // PendingIntent Broadcast from AlarmManager Intent intent = new Intent(this, MyAMReceiver.class); PendingIntent pendingintent = PendingIntent.getBroadcast(this, 112358, intent, PendingIntent.FLAG_CANCEL_CURRENT);  // Registering pending intent with AlarmManager AlarmManager alarmmanager = (AlarmManager)getSystemService(Context.ALARM_SERVICE); alarmmanager.cancel(pendingintent); // Cancel any existing alarms alarmmanager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+10000,60000, pendingintent); // Delay first trigger 10s, timer interval 60s 111  

Pero esto no está funcionando, dice que Autohndata no está definido, por lo que el controlador se ejecuta antes de la función de ejecución ¿Cómo resolverlo?

Original en ingles

I'm using AngularJS to make my first application, I want to the run function to be executed before any controller.

My run function looks like :

.run(function ($rootScope,authentification)  {      teamsFactory.sendAuthent().then(function(response)  {     $rootScope.authentdata=response.data;     }); }) 

My service where I make the authentication :

 teams.sendAuthent= function(DeviceID) {       return $http({method:"POST",url:http://myserver.com/authentification",headers: {'X-SocialAPI-Service-Name': 'auth'}})     .then(function(aResponse)     {     var deferred=$q.defer();     deferred.resolve({data:aResponse.data});     return deferred.promise;        });      } 

And this is my controller where I use the rootScope data :

.controller('home', function($rootScope,$scope, $http,)  {         alert($rootScope.authentdata.token);    }) 

But this is not working it says that autehndata is undefined, so the controller is executed before the run function how to resolve that ?

     
       
       

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

puedes probar esto,

  $rootScope.$watch('authentdata', function(n, o) {     if(angular.isDefined(n) {         alert($rootScope.authentdata.token);         // or alert(n.token);     } }   
 

you can try this,

$rootScope.$watch('authentdata', function(n, o) {     if(angular.isDefined(n) {         alert($rootScope.authentdata.token);         // or alert(n.token);     } } 
 
 

Relacionados problema

4  Cómo obtener objeto en una matriz con índice en un controlador angular JS  ( How to get object in an array with index in a controller angular js ) 
Necesito obtener objetos en matriz para el índice dado en JS angular JS. scope.storeList = [{ 'id':101, 'name':indhu },{ 'id':102, 'name':selvin },...

4  Vuelva a crear el mapa de la Directiva de AngularJS de Google Map  ( Re create the map by angularjs directive of google map ) 
Estoy usando el tema cuadrado de angularjs y usando su directiva de mapa para generar el mapa como este: vagrant up4 Esto está en la página de búsqueda ...

0  Jasmine SpyoneVent indefinido  ( Jasmine spyonevent undefined ) 
spyEvent = spyOnEvent('#BackYoyButton', 'click'); $('#BackYoyButton').trigger( "click" ); expect('click').toHaveBeenTriggeredOn($('#BackYoyBu...

0  States Angularjs y plantillas dinámicas basadas en criterios  ( Angularjs states and dynamic templates based on criteria ) 
Estoy tratando de usar AngularJS + UI-Router en mi proyecto, está funcionando, pero estoy en medio de una situación aquí ... Tengo un estado de origen con U...

1  En AngularJs al tratar de eliminar una fila después de la clasificación, la fila incorrecta se elimina. Que es de acuerdo a la identificación. ¿Cómo escribiré el código para resolver?  ( In angularjs when trying to delete a row after sorting the wrong row gets delet ) 
**html part** <div> <p>search : <input type="search" ng-model="customer" placeholder="search for customers" /> </...

0  Cómo definir los atributos para todas las propiedades de un objeto simultáneamente (o establecer predeterminado)  ( How to define attributes for all properties of an object simultaneously or set ) 
Estoy escribiendo un proveedor de servicios de AngularJS (función) que: toma resultados de varias tablas diferentes de una base de datos SQLite devuelve ...

0  La directiva de JS angular JS - Custome no se está reemplazando con plantilla real  ( Angular js custome directive is not getting replaced with actual template ) 
Estoy aprendiendo a JS angular y me gustaría crear mi directiva personalizada. Mi código JavaScript no muestra ningún error, pero la directiva personalizada n...

0  TokenMismatch de respuesta del servidor cuando usa $ Resse (AngularJS) para poner datos después de dos días  ( Server response tokenmismatch when use resourse angularjs to put data after t ) 
Tengo un problema al crear el sitio web para cargar datos en el servidor. Cuando el usuario inicia sesión y cambia los datos, uso $ $ Resource (AngularJS) par...

0  Cómo convertir la fecha de ISI a ISO en JS  ( How to convert isi date to iso in js ) 
Estoy recibiendo la fecha como data.created = "Wed May 03 2017 15:41:49 GMT 0530(IST)" quiero convertirlo a Formato de ISI regular como 2017-03...

1  Cómo exportar datos a PDF desde la tabla dinámica en Angularjs  ( How to export data to pdf from dynamic table in angularjs ) 
Quiero exportar datos a PDF desde una tabla dinámica, todos los complementos usan tablas estáticas, quiero decir con tablas dinámicas que se crean cuando hago...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos