aurelia コンポーネントにコンテナレス機能を使用すると、奇妙な動作が見られます。SVG コンテナ内でカスタム要素を作成していますが、SVG コンテナ内では SVGElements タグのみが許可されているため、DOM に追加する前にコンテナレス タグを使用してカスタム要素タグを削除する必要がありました。Aurelia リリース バージョン 1.0.0 を使用しており、webpack で SPA をビルドしています。
ここでは、コンテナレス使用の 2 つの実装を表示する gistrun の例を見つけることができます。 https://gist.run/?id=58ba6282ad54c1263eec3a141fe42183
この例では、2 つのビューモデルを作成し、これをカスタム要素にバインドしています。as-element="compose"
ビューモデルを作成したこと、および Aurelia が VM を作成してはならないことを aurelia に伝えるために使用します。これらとカスタム要素の違いは、コンテナレス タグです。
CustomElement は Viewmodel に
@containerless
タグを持っていませんが、HTML ビューに「コンテナレス」を持っています。@containerless
Aurelia HUB で説明されているように、withattr コンポーネントには HTML ビューに「コンテナレス」がありませんが、Viewmodel にはタグがあります。
どちらの状況でも、青い四角形が表示されると思います。customelement タグは、コンテナレス タグのため、Aurelia によって削除されます。ただし、@containerless
実装 2 のように、タグは機能していないようです。
質問:
これらの実装の出力が異なる理由の手がかりはありますか? どれが正しいですか?@containerless
タグをビューモデルに配置する必要があるとAurelia Docsに記載されているように、2が予想されます。
どんな助けでも大歓迎です:)