問題タブ [angular-renderer2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1798 参照

angular - Angular 構造ディレクティブと Renderer2

従来のラベル/スパン スタイルやその他の機能にスタイルを追加するカスタム チェックボックス ディレクティブがあります。ラッパーを自分自身の周りに挿入し、スパンを横に挿入します。構造ディレクティブに配置すると、DOM の操作に失敗することに気付きました。セットアップのほとんどはコンストラクターで行われますが、構造上の親とうまく連携するには、Angular のライフサイクルを意識したものにする必要があるのではないかと考えています。

問題の DOM の例:

そのコメントされたdivで動作します。ただし、直接の親である ng-container を使用すると、レンダラーは DOM の挿入に失敗します。これはコンストラクタです:

編集:結果DOMを追加

実際のエラーはありません。欠陥のあるケース ( の直接の親ng-container) では、最初の要素になりますが、インジェクションはありません: <input type="checkbox" alloy alloyLabel="default">

ラッパーdivを使用すると、予想されるインジェクションが得られます (_ngcontent* が削除されます):