2012-09-08 12 views
7

Vorrei verificare se un Backbone.View è attualmente sottoposto a rendering nel DOM se non non è necessario eseguirne il rerender. Posso controllare questo in qualche modo?Come posso verificare se un Backbone.View è attualmente sottoposto a rendering in DOM?

saluti

+3

Semi-duplicato di [questa domanda] (http://stackoverflow.com/q/5428280/479863) utilizzando 'this. $ El' come oggetto jQuery. –

+0

Sono cose completamente diverse, come indica la risposta scelta. – gotofritz

risposta

11

Beh, in teoria si potrebbe interrogare il DOM per scoprire, ma che sarà molto più lento di appena impostando una variabile di istanza e l'interrogazione che prima del rendering. D'altra parte, il metodo di rendering (assumendo che tutto sia impostato correttamente) dovrebbe essere chiamato solo quando il modello cambia, quindi la tua domanda indica che probabilmente non stai usando la Vista in base a come dovrebbe essere usata (stile MVC) . Ma supponendo che sia necessario farlo, impostare un this.rendered = true e verificarlo prima di eseguire nuovamente il rendering nel metodo di rendering è probabilmente il più veloce e semplice.

Problemi correlati