EmberJS: Le meilleur moyen de recharger contrôleur du modèle basé sur une autre propriété?
Quel est le meilleur moyen de recharger modèle pour un contrôleur basé sur une autre propriété?
Par exemple: j'ai un poste de contrôleur. L'auteur peut avoir qu'un seul post. Je veux recharger post création de formulaire si currentAuthor des modifications de la propriété.
J'ai essayé de cette façon:
App.PostEditController = Ember.ObjectController.extend
modelReloadNeeded: Ember.observer((obj, keyName) ->
postId = @get('currentAuthor').get('post_id')
if postId?
@set('model', @store.find('post', postId))
, 'currentAuthor.post_id'
)
Il recharge tout, mais ne renvoie pas à un modèle réel, mais la promesse.
Et aussi il ne regarde pas comme un idiomatiques Braise solution.
Peut-être il ya une meilleure façon d'aborder ce problème?
OriginalL'auteur somebody32 | 2013-09-07
Vous devez vous connecter pour publier un commentaire.
Je crois que le rechargement des contrôleurs modèle est équivalent à ré-entrer dans la même voie. il y a donc beaucoup de possibilités de la version 2.12.0,
et vous pouvez dire
this.transitionTo('post',123)
cela actualiser la route et vous obtiendrez 123 comme params dans le modèle de crochet.https://guides.emberjs.com/v2.12.0/routing/defining-your-routes/#toc_dynamic-segments
http://emberjs.com/api/classes/Ember.Route.html#method_transitionTo
Vous pouvez même parler de la même postId comme queryParams dans le contrôleur. il va vous rafraîchir la route lorsque vous définissez
postId
propriété.https://guides.emberjs.com/v2.12.0/routing/query-params/#toc_opting-into-a-full-transition
OriginalL'auteur Ember Freak
Je suis nerveux à l'idée de vous donner une solution à ce problème, parce que je ne suis pas sûr que vous vous approchez correctement, cependant:
Cela devrait recharger la
PostEditController
's le contenu de la propriété et, par conséquent, de mettre à jour vos modèles chaque fois que le contenu ducurrentAuthor
des modifications de la propriété.@store.createRecord 'post'
et je veux le remplacer par un chargé, non seulement de la plaine de rechargement pour un modèle actuelOriginalL'auteur chriswessels
Quelque chose comme cela serait de trouver un poste différent, puis définir le contenu de la
PostEditController
.OriginalL'auteur Jeremy Green
store.find
sera de retour que vous une promesse, il faut la régler de façon à éviter les problèmes avec un pas de méthodes d'appelOriginalL'auteur somebody32