0

=「メイン」私はポリマー1.1:鉄 - ページ間の関数を呼び出すと役割

<my-app></my-app> //in index.html 

のようなプロジェクト構造を持っていると私の-app.htmlに私は私の内側に、鉄のページを持っているときにデータを渡します3つのコンポーネントを持つ

<iron-pages selected="0" role="main"> 
    <my-page1></my-page1> 
    <my-page2></my-page2> 
    <my-page3></my-page3> 
</iron-pages> 

my-page2.htmlのパラメータと一緒にmy-page1.htmlから関数を呼び出す方法は?

私が今使っている方法は、上向きのデータフローのために両方のページに属性を持たせ、2番目のコンポーネントのその属性にオブザーバを追加することです。オブザーバーを呼ぶように割り当てる!ここでの私の意見では私の-page2.html

に呼び出されるデータ-PROP2、私は私の-page1.htmlオブザーバーに私はデータ-PROP1のためのデータを割り当てるときにオブザーバを追加しますため

<iron-pages selected="0"> 
    <my-page1 data-prop1={{dataProp1}}></my-page1> 
    <my-page2 data-prop2=[[dataProp1]]></my-page2> 
    <my-page3></my-page3> 
</iron-pages> 

これは正しい方法ではありません!だからthis.fireは子から親に関数をトリガするためにしか使えないので、コンポーネントや子どもの兄弟の間で特定の関数を伝える必要がある場合はどうすればいいですか?

答えて

0

データモデルによる通信が推奨されます。 (私はあなたが後で、参照フェッチしてみましょう。)また、単方向データフローの動きについて話ロブを見ることをお勧めします

、 私は、ページとコールのインスタンスを取得するためにquerySelectorを使用してやっている何https://www.youtube.com/watch?v=iJ9hS54BRag#t=11m7s

+0

あなたはちょうど私に例を示すことができますか? –

0

その中のメソッド。

var myPage2 = null; 
myPage2 = document.querySeletor('my-page2'); 
// Now call your function from here 
myPage2.yourFunction(param1, param2); 

`

とあなたの私の-PAGE2はyourFunction機能を持っています:

は、次のように。

関連する問題