答案 0 :(得分:4)
这是重新框架和devcards的经常出现的问题。主要问题是重新框架中的全局变量(主要问题是数据库,但处理程序和订阅也可能是一个问题),这与在同一页面上呈现多个devcards的想法不相符。
一个可能的解决方案是在iframe中呈现每个devcard。每个devcard都会彼此隔离,即使它们包含在一个页面中并在视觉上呈现。它可能不是最有效的解决方案,但它可行:我在my devcards fork, under the iframe
branch中实现了它。它有a couple example devcards using re-frame
即使它在clojars中以[org.clojars.nberger/devcards "0.2.3-0-iframe"]
发布,但它需要一些工作来提供更友好的方式来创建iframe devcards,并且可能是一个特定于重新框架的devcard宏。也可能有一些UI粗糙的边缘要擦亮。但随意使用它。当然,欢迎提供意见和反馈。
我将在此举例说明如何使用它:
(defcard-rg re-frame-component-initialize-db
"This is the same re-frame component, but now using
data-atom to initialize the db, rendered in an iframe:"
(fn [data-atom _]
(setup-example-1)
(re-frame/dispatch [:initialize-db @data-atom])
[re-frame-component-example])
{:guest-name "John"}
{:iframe true})
(该示例基于重新构建0.7.x但是对于较新的版本,所有内容都应该相同,因为iframe机制对使用重新框架或其他任何东西都无动于衷)
答案 1 :(得分:1)
他们说你不能在the first page:
重新框架仍然是一项正在进行中的工作,它在几个方面都不尽如人意 方式 - 例如它不像我们用devcards那样好用