0
Polymerのカルーセルに2つの子ノードを追加しようとしています。これは、Chromeで正常に動作しますが、私はSafariで次のコンソールエラーが表示されます。動的に作成された要素の選択Polymer 1.0 Safari
TypeError: null is not an object (evaluating
'this.$$('#' + this.slideId1 + '').appendChild'
)
SafariでIDによって動的に作成したノードを選択する方法はありますか?
私は現在使用中ですthis.$$()
ポリマーメソッド。
<l2t-paper-slider id="paperSlider" total-slides="{{slides}}"></l2t-paper-slider>
<script>
Polymer({...
_appendNode: function() {
this.$$('#paperSlider').appendChild(this.slide);
this.$$('#' + this.slideId1 + '').appendChild(this.slideData);
}
});
</script>
を作成する必要がある場合がありますので
はのappendChildノードを期待していることを忘れないでくださいあなたはすでに 'this。$$ 'でノードを正しく照会しています'。問題は、ノードを照会するときにノードがDOMにまだアタッチされていないことが原因である可能性があります。 '_appendNode'が' slideId'ノードをDOMに追加するのと同じ関数で呼び出された場合、次のレンダリングまでクエリを延期するべきです。 – tony19
最初の追加の完了を確認するためにどのようなデザインパターンを使用しますか? – KVNA
「最初の追加」とはどういう意味ですか? '_appendNode'への最初の呼び出し?または '_appendNode'の最初の' appendChild'ですか? 'slideId1'をDOMに追加するのは何ですか? – tony19