2016-12-15 4 views
2

私はいくつかのテンプレートリピーターを活用するWebコンポーネントを持っています。私は、アイテムがページに添付されていてもレンダリングされないことに気付きました。レンダリングされないので、テンプレートリピータは処理されません。は、コンポーネントがページにあるときに接続されますが、レンダリングされないため、処理ができません。

コンポーネントが実際に描画されたときに呼び出されるレンダリングやペイント関数はありますか?

テンプレートdom-repeaterのコンテンツに関連したいくつかのコンポーネントクエリを実行していました。それは、情報をスタンプアウトしないので、クラスを見つけることはありません。

「レンダリング」についてはどうすればよいですか?この項目は、実際にあるように、ページのロードが、に添加した場合に解雇され

<dom-module id="my-test"> 
    <template> 
    <template is="dom-repeater" items="{{knownList}}"> 
     <div class="selected">{{item.name}}</div> 
    </template> 
    </template> 
</dom-module> 

及び添付:私のHTMLはのような単純なものである

@property List<Map> knownList = [{"name":"Bob"},{"name":"Jake"},{"name":"Larry"}]; 

attached(){ 
    toBinaryString(); 
} 

String toBinaryString(){ 
    String binaryString = ""; 
    document.getElementsByClassName("selected").forEach((HtmlElement ele){ 
    print("Fired"); 
    binaryString += "1"; 
    }); 
    print("Result diagnostics/ Length: ${binaryString.length} isValid: ${binaryString.length==(CONST_PER_DAY * 7)}"); 
    return binaryString; 
} 

は今、私のような何かをしていましたそのページはレンダリングされていないので、どのような種類のDOM関連処理もできません。

私が間違っていることはありますか?

+0

'attached(){...}'の代わりに 'ready(){...}'を試しましたか?また、https://github.com/dart-lang/polymer-dart/wiki/registration-and-lifecycle –

+0

も参照してください。作成した後ではなく、添付ファイルの前で焼成していたことに気付きました。それは、アタッチメントがライフサイクルの後半に来るように思われるので、アタッチメントが最良の行動コースかもしれないと思った。 Imは、Attached vs Readyのさまざまな意味が何であるか分かりません。準備ができても項目はレンダリングされません。 – Fallenreaper

答えて

0

https://github.com/dart-lang/polymer-dart/wiki/registration-and-lifecycle#ready-callback-and-local-dom-initialization

要素のローカルDOMの準備ができたときに準備ができてコールバックが呼び出されます。

エレメントのテンプレートがスタンプされ、エレメントのローカルDOM内のすべてのエレメントが設定され(親からの値のバインド、デシリアライズされた属性、またはデフォルト値)、それらの準備メソッドが呼び出された後に呼び出されます。

+1

bizarre。私はこれをもう一度見ていきます。あなたも私も知っていない外出者がいるかもしれません。これは対処する必要があります。病気はもう一度見て、私はそれが利用されている周りにできることを参照してください。私はそれを働かせることができれば、私はあなたに特定のコードを知らせ、どのようにして、あなたにポイントと答えを与えるでしょう。 :) – Fallenreaper

+1

Gunterがあなたにリンクを張った文書に記載されているように、添付ファイル内の非同期呼び出しを使用して答えを見つける必要があります。 –

関連する問題