2016-11-25 2 views
0

ポリマーチャイルドエレメントDOMがロードされている瞬間があります。ここに私の場合です:ポリマーチャイルドドームがロードされました

私は、父のコンポーネントでボタンを押すと、ajax要求がトリガーされます。 get応答が変数にバインドされると、dom-repeatに行き、子項目を作成します。私の問題は、子コンポーネントを選択して必要なメソッドをトリガし、ビューにスクロールするためにthis.$$()を使用したいので、すべての子エレメントがロードされたときにその瞬間を捕まえることです。

that.set('variable', response)の後にthis.$$()セレクタを使用しても、DOMにはまだ子コンポーネントがありません(早期に)。

attached()にもセレクタを入れてみましたが、ページが読み込まれる前にボタンが押されているので、ボタンが押されたときにこのメソッドは呼び出されません。

子要素を選択するためにセレクタを使用できるようになると、その瞬間をどのようにするのかアドバイスはありますか?

ありがとうございました!

答えて

1

dom-repeat

<base href="https://polygit.org/components/"> 
 
<link rel="import" href="polymer/polymer.html"> 
 
<dom-module id="repeat-completion"> 
 
    <template> 
 
    <style></style> 
 
    <template is="dom-repeat" items="{{items}}" as="item" on-dom-change="_domComplete"> 
 
     <div id$="num{{index}}">{{item}}</div> 
 
    </template> 
 
    </template> 
 
</dom-module> 
 
<script> 
 
    Polymer({ 
 
    is: 'repeat-completion', 
 
    properties: { 
 
     items: { 
 
     type: Array, 
 
     value: function() { 
 
      return [1, 2, 3, 4, 5] 
 
     } 
 
     } 
 
    }, 
 
    _domComplete: function(e) { 
 
     console.log("complete", e); 
 
     console.log(this.$$("#num1")); 
 
    } 
 
    }) 
 
</script> 
 

 

 
<repeat-completion></repeat-completion>

dom-changeイベントをリッスンして試してみてください
関連する問題