J'ai vue Backbone où le nom de classe est réglé de manière dynamique avec une fonction:définir dynamiquement Classname sur la vue Backbone rendent
app.Views.ItemRequestView = Backbone.View.extend({
tagName : 'tr',
className : function(){
var classRow = '';
if(this.model.getState() == app.Models.Request.status.wait.key) {
classRow = app.Models.Request.status.wait.color + ' bolder';
}
else if(this.model.getState() == app.Models.Request.status.confirm.key){
classRow = app.Models.Request.status.confirm.color + ' bolder';
}
return classRow;
},
Lorsque je mets à jour le modèle de la vue je déclenche un événement de changement qui rend la vue . Le problème est que className n'est pas recalculer avec le rendu ... Comment puis-je recalculer le className lorsque je rends la vue?
Quelqu'un a une idée? Merci
Magnifique, merci beaucoup! – user2568596
alerte d'overkill, tout ce que vous devez faire est 'this. $ El.addClass ('classname')' avant que la vue ne soit affichée. –
Sauf si vous faites quelque chose de plus compliqué que d'ajouter une classe (en ajouter, en changer, etc.). Pour cette raison, ce n'est pas exagéré, c'est robuste. –