2017-07-06 13 views
2

現在、私は大量のデータを共有する2つのポリマー成分を持っています。ここをクリックしてください:ポリマーコンポーネント間でデータを共有する方法はありますか?

<polymer-component1 
     series="{{series}}" 
     stackhelper={{stackhelper}} 
     stack={{stack}} 
     controls={{controls}} 
     camera={{camera}} 
     threed={{threed}} 
     scene={{scene}} 
     renderer={{renderer}}> 
</polymer-component1> 
<polymer-component2 
     stackhelper=[[stackhelper]] 
     stack={{stack}} 
     controls={{controls}} 
     camera={{camera}} 
     threed={{threed}} 
     scene={{scene}} 
     renderer={{renderer}} 
     guiobjects={{guiobjects}}> 
</polymer-component2> 

これは現在問題なく動作していますが、データの共有に関するベストプラクティスは何ですか? 2つのコンポーネント間ですべてのプロパティを共有する方法はありますか?

+2

Reduxのは、共有状態を管理するための、非常にいいですし、利用可能なポリマーのバインディングがあります。 https://github.com/tur-nr/polymer-redux – danielx

答えて

1

を拡張するまで、このhereスクロールを見つけることができます。文字列や数字だけでなく、任意のプロパティを共有できます。例えばあなたがオブジェクト

JS

data = { 
    series: "", 
    stackhelper: "", 
    stack: "", 
    controls: "", 
    camera: "", 
    threed: "", 
    scene: "", 
    renderer: "", 
} 

を持っていると仮定するとあなたのコードは次のように書き換えることができます。

HTML

<polymer-component1 data="{{data}}"></polymer-component1> 
<polymer-component2 data="{{data}}"></polymer-component2> 
+0

:-)コンポーネント間の状態を共有するためのReduxの使用danielxできれいに見えるが、私はそれが少ないことだと思うだと思います実用的。はい、私が見ることができるように私の方法は大丈夫で一般的です。ありがとう! – Rashomon

1

ポリマー2では、1つの要素はプロパティを継承するだけで拡張できます。

または、必要なプロパティだけを持つ要素を作成してから、両方の要素が親を拡張します。あなたはあなたが何をやっているように、データバインディングを介してデータを共有することをお勧めします既存の要素

+1

しかし、コンポーネント間でプロパティの**値**を共有する必要があります。プロパティやメソッドだけではありません。それは価値観を共有するかどうかわからない – Rashomon

+1

ああSRY私はあなたを誤解したが、右、私はacually htmlタグになるだろう –

関連する問題