Déclencheur backbone.js changer lorsque la valeur ne change pas

C'est une caractéristique connue de backbone.js lors de la configuration des données qui n'a pas changé, il ne se déclenche pas l'événement de changement, ni d'aller dans les validations. J'ai cependant besoin de l'événement de changement de feu comme je suis stocker une réponse JSON à partir d'un appel AJAX qui stocke les résultats de backend de validation. Si l'utilisateur conserve la soumission du formulaire, tout en laissant le même champ vide, le backend de validation sera de retour le même résultat JSON et quand je l'ai enregistrer dans le modèle, il ne déclenche pas l'événement de changement.

Quelques choses que j'ai essayé au sein de l'AJAX succès de rappel où j'ai mis les données dans le modèle:

Tentative De Solution #1

t.model.unset('fieldErrors',{silent: true});
t.model.set({fieldErrors: JSONResponse});

Tentative De Solution #2

t.model.set({fieldErrors: null},{silent: true});
t.model.set({fieldErrors: JSONResponse});

Aucune de ces résultats dans l'événement de changement de tirer une deuxième fois lors de l'appel et l'utilisateur a la même JSONResponse.

  • Si vous n'avez pas peur de réutilisable, voir ScottPuleo de réponse. Sinon, vous pouvez remplacer la Model#set méthode à toujours le feu d'un événement personnalisé (je vais poster une réponse sur la façon si vous êtes intéressé).
InformationsquelleAutor | 2013-04-11