Ce sujet a déjà été discuté sur stackoverflow avant, mais pas avec la dernière version des données de ember, je pense. Au moins, aucune des suggestions que j'ai trouvées n'a fonctionné pour moi. J'utilise la dernière version des données Ember et Ember (vers 2.80.0). J'utilise le JsonApiAdapter.Ember: Editer l'objet du modèle sans définir isdirty
Scénario
Après charger un enregistrement à partir du serveur que je veux faire quelques changements à certaines de ses propriétés. Ces modifications ne doivent pas salir l'enregistrement et les attributs modifiés ne doivent pas apparaître dans le record.changedAttributes()
. Tout changement que l'utilisateur peut faire après cela doit rendre l'enregistrement sale.
Recherche d'une solution
J'ai essayé de changer manuellement le drapeau IsDirty, mais il ne le fit pas. J'ai aussi essayé de trouver l'endroit dans le code de données de braises qui définit l'état après le chargement d'un enregistrement (parce qu'essentiellement j'essaye de faire la même chose) mais je n'ai pas trouvé où il est. J'ai également essayé record.send('pushedData')
, mais je n'ai rien changé de l'état de l'enregistrement.
Toute aide appréciée.
Parfait. pushPayload a fait l'affaire pour moi. J'ai trouvé qu'il peut être utilisé pour modifier les enregistrements existants dans le magasin en envoyant simplement la partie de la charge utile qui doit être modifiée. –