2016-01-29 27 views
7

Podążam za tutorialem i próbuję uruchomić this code. Za każdym razem, gdy odświeżyć poniższy kodPrzełączanie wyjścia backbiceds po każdym odświeżeniu

console.log(childView.el); 

przełącza wyjścia pomiędzy tym

<div id="master" class="container"></div> 

a to:

div#master.container 

Chciałbym zrozumieć, dlaczego ten przełącza. Oto gif tego, co widzę (spójrz na konsolę).

enter image description here

+0

To chyba rzecz chromowana ... Czy próbowałeś innej przeglądarki ..? –

Odpowiedz

0

Z tego co mogę powiedzieć, Chrome ma dwa różne sposoby wyświetlania elementu w konsoli: „Dom drogę” i „Javascript drogę”. Wierzę, że widzisz, że Chrome początkowo renderuje element w jedną stronę, a następnie przechodzi do innej reprezentacji tuż po (np. Widzisz drobny błąd w narzędziach programistycznych).

0

Myślę, że @machineghost ma rację, jest to błąd w narzędziach programistycznych. "Poprawnym" wynikiem jest notacja DOM: <div id="master" class="container"></div>. Jednak po utworzeniu instancji widoku właściwość .el jest rozwiązywana z ciągu selektora na element DOM. Inna notacja, którą widzisz, jest łańcuchem selektora dla utworzonego widoku.

Mimo że łańcuch selektora jest używany podczas tworzenia instancji widoku, właściwość el jest zawsze ustawiona na element DOM, za każdym razem przy użyciu odłączonego <div>, jeśli nie podano żadnej innej opcji.