web-dev-qa-db-ja.com

Polymerのthis。$とthis。$$の違いは何ですか?

私はドキュメントを何度も読み、運が悪かったのでグーグルで検索しました。 docs this。$の説明を例で始めますが、this。$$の例は示されていません。

私が理解している限り、this。$は、テンプレート内で必要なIDを持つものを見つけます。例-this。$。test.textContent = "heythere"を使用できます

しかし、これについては、$$は「動的に作成されたノード」とだけ言っています。静的に作成されたノードと動的に作成されたノードの違いとその使用方法を例を挙げて説明できるかもしれません。$$-よろしくお願いします。

9
Bobby Battista

Polymer.dom(this.root).querySelectorは日陰のDOMAPIを利用します。

シェーディDOM(デフォルトは1.0)を使用するポリマーは、シャドウDOMを完全にポリフィルしません。

querySelector()を使用するときに、ブラウザでネイティブにサポートされていないすべてのPolymer機能(_<content>_プロジェクションなど)が正しく考慮される)を確保するには、次を使用する必要があります。 Polymer.dom(...)ラッパー。

  • _this.$_は、要素IDから要素参照への静的マップを返すゲッターです。 _dom-repeat_によって作成された要素、_dom-if_によって非表示にされた要素、または動的に作成された要素は含まれません。

  • this.$$()Polymer.dom(this.root).querySelector()の省略関数であり、実行時に実際にDOMにクエリを実行するため、動的に作成された要素が考慮されます。

6