7

我一直在关注 om 教程。我使用 Light Table 设置外部浏览器连接。此外,在我的 clojurescript 代码中,我调用(enable-console-print!)它以将我的 println 语句发送到浏览器控制台。

问题是当我打印一个 om 组件时..类似于:

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

我得到的输出是:

#<[object Object]>

如果我只是(om/build my-component-function my-data)在 LightTable 中进行评估,我也会遇到同样的问题。

能够检查此对象将有助于调试。我怎样才能打印出更有意义的东西?

4

3 回答 3

10

1 尝试使用(.log js/console object)相当于 ClojureScript 的console.log(object);

2 您也可以为 Google Chrome 安装 React Developer Tools 扩展,这将允许您浏览页面上的 React/Om 组件

于 2014-04-11T21:19:11.220 回答
3

正如您可以阅读 Om 项目的 README 文件https://github.com/swannodette/om

您可以使用ankha,一个 EDN 检查器视图。然后你可以打印你的组件并传递给 ankha。其他解决方案可以是(.dir js/console object),您将能够在 firebug 或 chrome 控制台上检查您的组件

于 2014-04-10T16:07:58.437 回答
3

试试cljs-devtools。该库利用“自定义格式化程序”在 Chrome Javascript 控制台中漂亮地打印 clojure 数据结构。

当您启用自定义格式化程序并在项目中集成库时,这应该会打印您的对象:

(.log js/console your_namespace.your_object)

在控制台中输入也应该有效(代码完成)

your_namespace.your_object

免责声明:此功能在 Chrome 开发工具中是实验性的,我是该库的作者。

于 2015-02-28T12:36:44.840 回答