Je suis nouveau à backbone
, dans mon projet actuel, nous utilisons Backbone
et Requirejs
. Il y a 4 onglets, disons A, B, C, D. Dans l'onglet A i enregistrer des données dans db et dans l'onglet D les données qui sont enregistrées dans l'onglet A doit être displayed.So, j'appelle la méthode render de l'onglet D après opération de sauvegarde dans l'onglet Un est terminé.Comment rafraîchir l'interface utilisateur d'une autre vue d'une vue présente dans différents onglets de la dorsale?
Lorsque l'écran est chargé pour la première fois, tous les onglets se chargent correctement avec les données appropriées. Mais quand j'enregistrer les données de l'onglet A et appelle méthode render de l'onglet D ne met pas à jour ui.Problem est que, render()
est appelé avec aucune erreur mais ui dans l'onglet D ne reçoit pas rafraîchi.
Après mon code factice pour onglet A:
define(['jquery','backbone','underscore','views_jira/tabDView'],
function($,Backbone,_,TabDView)
{
var TabAView = Backbone.View.extend({
tabDView:new TabDView(),
render:function(){
this.model.save(objectToSave,{
success: _.bind(this.saveSuccessCallback, this),
error: _.bind(this.saveErrorCallback, this)
});
}
});
saveSuccessCallback: function (model, response) {
tabDView.render()
},
saveErrorCallback:function (model, response) {
}
}
);
Voici le code pour onglet D:
define(['jquery','backbone','underscore','collections'],
function($,Backbone,_,DataCollection) {
var TabDView = Backbone.View.extend({
el:'#myViewDivinHtmlBody'
dataCollection:new DataCollection();
render:function(){
this.dataCollection.fetch({
success: _.bind(this.handleOpendTicketsSuccessCallback, this),
error: _.bind(this.handleOpendTicketsErrorCallback, this)
});
},
handleOpendTicketsSuccessCallback:function(model, response, fetchOptions){
this.$el.find('.mydiv').append(response);
},
handleOpendTicketsErrorCallback:function(model, response, fetchOptions){
console.log("Error in fetching the tickets");
}
});
return TabDView;
}
)
Quelqu'un peut-il me dire où je me trompe. Remarque: il n'y a pas d'erreur de console.
Je ne vois pas de code qui ajoute 'élément TabDView' à DOM –