Sto cercando di creare un po 'di autenticazione all'interno della mia applicazione Emberjs, quindi dopo che l'utente ha effettuato l'accesso, salvo l'ID utente e un token utilizzando l'archiviazione locale. Funziona come previsto, ho quindi creato una configurazione di proprietà calcolate per aiutare a determinare se un giocatore ha effettuato l'accesso.
MyApp.ApplicationController = Ember.Controller.extend
currentUser: (->
@AuthManager.get('apiKey.user')
).property('AuthManager.apiKey')
isAuthenticated: (->
@AuthManager.isAuthenticated
).property('AuthManager.apiKey')
Come puoi vedere, basta prendere i dati dal mio Authmanager. Ora il mio grosso problema è che queste proprietà calcolate non si aggiornano, anche se i cambiamenti di Apikey. Quindi ho provato a debug.
currentUser: (->
@AuthManager.get('apiKey.user')
).property('AuthManager.apiKey')
isAuthenticated: (->
#@AuthManager.isAuthenticated
console.log "Something changed to " + @get('AuthManager.apiKey.accessToken')
self = @
setInterval ->
console.log self.get('AuthManager.apiKey.accessToken')
, 1000
).property('AuthManager.apiKey.accessToken')
Innanzitutto l'apikey è indefinito, ma dopo il caricamento dell'utente, gli Apikeys sono impostati, ma la proprietà non riesce a vedere questa modifica.
Questo è l'output del codice.
Come puoi vedere i cambiamenti di Apikeys, ma "qualcosa cambiato" è stampato solo una volta?
Che cosa sto facendo di sbagliato?