2017-09-20 5 views

答えて

1

再フレームが進行中の作業のままで、それが いくつかの方法で及ば - 例えばそれは同様に、我々は「として動作しません。デビッドカードが好きです。

+0

私はそれがある程度うまくいくので「それはうまくいかない」という文を理解しています。 – dilvan

3

これはリフレームとデバイスカードの再発問題です。主な問題は、同じページに複数のデバイスカードを表示するというアイデアではうまくいかない、再フレーム内のグローバル(主な問題はdbですが、ハンドラとサブスクリプションにも問題があります)です。

1つの潜在的な解決策は、各デバイスカードをiframeの内側にレンダリングすることです。各デバイスカードは、1つのページに含まれ、視覚的にレンダリングされていても、互いに分離されています。おそらく最も効率的なソリューションではありませんが、動作します:my devcards fork, under the iframe branchで実装しました。それは[org.clojars.nberger/devcards "0.2.3-0-iframe"]としてclojarsで公開されていますが、iframe devcardsとre-frame用の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のメカニズムので、新しいバージョンで同じように動作するはずです

+0

正常に動作しました。ただし、 'defcard-rg'が使用されているときに' Test1'という文字列が現れます。 – dilvan

+1

文字列「Test1」はどこに表示されますか?あなたはその文字列をコードのどこに入れていますか?問題を示す要点やレポを自由に共有してみてください。私は一見見ることができます – nberger

+0

忘れてしまって、間違いました。それは私のコードにあった。ごめんなさい。 – dilvan

関連する問題