2016-11-25 74 views
0

我有一個問題越來越此刻聚合物子元素DOM被加載時。這裏是我的情況:聚合物兒童DOM加載

當我按下一個按鈕,在父親組件,AJAX請求被觸發。當獲得迴應綁定到變量時,這會變成重複並創建子項目。所以我的問題是找到時所有子元素加載的那一刻,因爲我想用this.$$()選擇子組件和觸發所需的方法和滾動到視圖。

如果我在獲取請求後使用this.$$()選擇器,在that.set('variable', response)之後,DOM仍然沒有得到那些子組件(提前)。

也嘗試將選擇器放入attached(),但它在加載頁面時重新加載,按鈕按下之前,所以按下按鈕時,不會調用此方法。

任何建議如何讓那一刻,當我可以使用選擇器來選擇子元素?

謝謝!

回答

1

儘量監聽dom-change事件的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>