J'essaie de construire une authentification dans mon application Emberjs, donc après que l'utilisateur s'est connecté, j'enregistre l'ID utilisateur et un jeton à l'aide de stockage local. Cela fonctionne comme prévu, j'ai ensuite construit une configuration de propriétés calculées pour aider à déterminer si un joueur s'est connecté.
MyApp.ApplicationController = Ember.Controller.extend
currentUser: (->
@AuthManager.get('apiKey.user')
).property('AuthManager.apiKey')
isAuthenticated: (->
@AuthManager.isAuthenticated
).property('AuthManager.apiKey')
Comme vous pouvez le voir, il suffit de récupérer les données de mon authManager. Maintenant, mon gros problème est que ces propriétés calculées ne mettent pas à jour, même si les changements apikey. J'ai donc essayé de le déboguer.
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')
Tout d'abord, l'Apikey n'est pas défini, mais une fois l'utilisateur chargé, les Apikeys sont définis, mais la propriété ne verra pas ce changement.
Ceci est la sortie du code.
Comme vous pouvez le voir, les Apikeys changent, mais "quelque chose de changé pour" n'est imprimé qu'une seule fois?
Qu'est-ce que je fais mal?