Как проверить объекты?
Я следовал учебнику по 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, и я являюсь автором библиотеки.