Как проверить объекты?

Я следовал учебнику по OM. Я использую Light Table для настройки внешнего браузера. Кроме того, в моем коде clojurescript я звоню (enable-console-print!) отправить мои println заявления в консоль браузера.

Проблема в том, что когда я печатаю ом компонент.. что-то вроде:

(println (om/build my-component-function my-data))

Я получаю вывод:

#<[object Object]>

У меня та же проблема, если я просто eval (om/build my-component-function my-data) в LightTable.

Возможность проверки этого объекта будет полезна для отладки. Как я могу напечатать что-то более значимое?

3 ответа

Решение

1 Попробуйте использовать (.log js/console object) который является ClojureScript эквивалентом console.log(object);

2 Вы также можете установить расширение React Developer Tools для Google Chrome, которое позволит вам просматривать компоненты React/Om, имеющиеся на странице.

Как вы можете прочитать в файле README проекта Om https://github.com/swannodette/om

Вы можете использовать ankha, представление инспектора EDN. Затем вы можете распечатать как edn свой компонент и перейти к ankha. Другое решение может быть (.dir js/console object) и вы сможете проверить свой компонент на Firebug или Chrome консоли

Попробуйте cljs-devtools. Эта библиотека использует "пользовательские средства форматирования", чтобы красиво печатать структуры данных clojure в консоли Chrome Javascript.

Когда вы включаете пользовательские средства форматирования и интегрируете библиотеку в свой проект, это должно довольно напечатать ваш объект:

(.log js/console your_namespace.your_object)

Также должен работать ввод в консоли (с дополнением кода)

your_namespace.your_object

Отказ от ответственности: эта функция является экспериментальной в Chrome Dev Tools, и я являюсь автором библиотеки.

Другие вопросы по тегам