KAŻDY RAZ Oglądam obiekt w konsoli, chcę go rozwinąć, więc klikanie strzałki, aby to zrobić KAŻDY RAZ :) Czy istnieje skrót lub ustawienie, które powoduje, że robi się to automatycznie?
google-chrome-devtools
Jeremy Smith
źródło
źródło
Odpowiedzi:
Choć rozwiązanie wspomnieć
JSON.stringify
jest dość dobre dla większości przypadków, to ma kilka ograniczeńconsole.log
można elegancko zadbać o takie przedmioty.Oto rozwiązanie (wykorzystuje bibliotekę underscore.js ), które rozwiązuje oba powyższe przez twórcze (ab) użycie
console.group
:Teraz działa:
Da ci coś takiego:
Wartość MAX_DEPTH można dostosować do żądanego poziomu, a poza tym poziomem zagnieżdżenia - rozszerzony dziennik powróci do zwykłego console.log
Spróbuj uruchomić coś takiego:
Zauważ, że zależność podkreślenia można łatwo usunąć - po prostu wyodrębnij wymagane funkcje ze źródła .
Należy również pamiętać, że
console.group
jest to niestandardowe.źródło
Rozważ użycie console.table () .
źródło
Aby rozwinąć / zwinąć węzeł i wszystkie jego elementy podrzędne,
(zauważ, że chociaż dokumentacja narzędzi programistycznych zawiera Ctrl + Alt + kliknięcie, w systemie Windows wszystko, czego potrzeba, to Alt + kliknięcie).
źródło
Może nie jest to najlepsza odpowiedź, ale robiłem to gdzieś w moim kodzie.
Aktualizacja :
Użyj,
JSON.stringify
aby automatycznie rozwinąć obiekt:Zawsze możesz utworzyć funkcję skrótu, jeśli boli Cię wpisanie tego wszystkiego:
Poprzednia odpowiedź:
wtedy zamiast:
Ty robisz:
Nie jest to najlepsze rozwiązanie, ale działa dobrze w moim przypadku. Głębsze obiekty nie będą działać, więc można to poprawić.
źródło
pretty(a)
we wszystkich miejscach w każdym czasie;)console.table
Płytkie rozwinięcie, „Option / Alt + Click” to proces ręczny, a pisanie niestandardowej funkcji używającej podkreślenia.js nie jest warte nad głową)opcja + Kliknij na komputerze Mac. Właśnie odkryłem to teraz i zrobiłem mój tydzień! To było równie irytujące jak cokolwiek innego
źródło
Oto zmodyfikowana wersja odpowiedzi Lorefnona, która nie zależy od podkreślenia:
źródło
Oto moje rozwiązanie, funkcja, która iteruje wszystkie właściwości obiektu, w tym tablice.
W tym przykładzie iteruję po prostym obiekcie wielopoziomowym:
Masz również możliwość wykluczenia iteracji, jeśli właściwości zaczynają się od określonego przyrostka (np. $ Dla obiektów kątowych)
Oto wynik funkcji:
Możesz również wstrzyknąć tę funkcję na dowolnej stronie internetowej i skopiować i przeanalizować wszystkie właściwości, spróbuj na stronie Google za pomocą polecenia chrome:
Możesz również skopiować dane wyjściowe polecenia za pomocą polecenia chrome:
źródło
jeśli masz duży obiekt, JSON.stringfy wyświetli błąd Uncaught TypeError: Konwertowanie struktury cyklicznej na JSON, oto sztuczka, aby użyć zmodyfikowanej wersji tego
teraz możesz użyć
JSON.stringifyOnce(obj)
źródło
Naprawdę nie jestem fanem tego, jak obiekty konsol Chrome i Safari są (zbyt rozbudowane). Konsola domyślnie zagęszcza obiekt, sortuje klucze obiektów, gdy obiekt jest rozwijany i wyświetla funkcje wewnętrzne z łańcucha prototypów. Te funkcje powinny być ustawieniami akceptacji. Deweloperzy domyślnie są prawdopodobnie zainteresowani nieprzetworzonymi wynikami, aby mogli sprawdzić, czy ich kod działa poprawnie; te funkcje spowalniają rozwój i dają nieprawidłowe wyniki sortowania.
Jak rozwinąć obiekty w Console
Zalecana
console.log(JSON.stringify({}, undefined, 2));
Można również użyć jako funkcji:
„Option + Click” (Chrome na Macu) i „Alt + Click” (Chrome na Window)
Jednak nie jest obsługiwany przez wszystkie przeglądarki (np. Safari), a konsola nadal drukuje łańcuchy typów prototypów, klucze obiektów są automatycznie sortowane, gdy rozszerzony itp.
Niepolecane
Nie polecałbym żadnej z najlepszych odpowiedzi
console.table()
- jest to tylko płytka ekspansja i nie rozwija zagnieżdżonych obiektówNapisz niestandardową funkcję underscore.js - za dużo narzutów na to, co powinno być prostym rozwiązaniem
źródło
To praca, ale działa dla mnie.
Używam w przypadku, gdy kontrolka / widżet aktualizuje się automatycznie w zależności od działań użytkownika. Na przykład, gdy używasz twittera typeahead.js, gdy wyostrzysz się poza okno, menu znika, a sugestie są usuwane z DOM.
W narzędziach deweloperskich kliknij prawym przyciskiem myszy węzeł, który chcesz rozwinąć, włącz przerwę na ... -> modyfikacje poddrzewa , spowoduje to wysłanie do debugera. Naciskaj F10 lub Shift + F11, aż dom mutuje. Gdy to zmutuje, możesz sprawdzić. Ponieważ debugger jest aktywny, interfejs użytkownika przeglądarki Chrome jest zablokowany i nie zamyka menu, a sugestie nadal znajdują się w DOM.
Bardzo przydatne podczas rozwiązywania problemów z układem dynamicznie wstawianych węzłów, które są stale wstawiane i usuwane.
źródło
Byłby inny łatwiejszy sposób
Próbowałem tego dla prostych obiektów.
źródło
Możesz wyświetlić swój element, uzyskując dostęp do document.getElementsBy ..., a następnie kliknij prawym przyciskiem myszy i skopiuj wynikowy obiekt. Na przykład:
document.getElementsByTagName('ion-app')
zwraca obiekt javascript, który można skopiować i wkleić do edytora tekstu i robi to w całości.Jeszcze lepiej: kliknij prawym przyciskiem myszy wynikowy element - „Edytuj jako html” - „Wybierz wszystko” - „Kopiuj” - „Wklej”
źródło
Możesz zobaczyć tutaj:
https://www.angularjswiki.com/angular/how-to-read-local-json-files-in-angular/
Najprostszy sposób:
Musisz także dodać następujący kod do tsconfig:
Nie roszczę sobie do tego prawa własności, po prostu odsyłam do pomocnego źródła.
źródło