指示文をホストに動的に追加するには(
)?ディレクティブを動的に追加する方法は?
私はmyTooltipディレクティブを持っており、そのホストにmdTooltipディレクティブを追加したいと思います。 のElementRef.nativeElement
を試しましたが、mdTooltipディレクティブは作成されません。
mytooltip.directive.ts:ホストによって
@Directive({
selector: '[my-tooltip]',
host: {
'(mouseenter)': 'show()',
'(mouseleave)': 'hide()',
}
})
export class myTooltip {
@Input('my-tooltip') message;
constructor() { }
show() {
/* TODO: How to add md-tooltip directive to elementref (host)? */
}
hide() {
/* TODO: remove md-tooltip directive from elementref (host) */
}
}
私はmyTooltipディレクティブを持つ要素意味:
<span my-tooltip="tooltip hint">Click here</span>
を結果は、HTML上ではなく、それは希望のMouseEnterに変更されませんスパンでmd-tooltip命令があります。
私がラッパーを使用していて、直接md-tooltipではない理由は、遅延の表示を修正し、遅れを隠し、マテリアルツールチップの動作を他の手段でもカスタマイズしたいからです。
編集どうやら追加するディレクティブは、動的に現在サポートされていません:(私はこの質問にはまだ場合にはここに
我々は角度で求めている機能がある
あなたは 'コンストラクタ(myTooltipプライベートTT)を試してみましたsole.log(tt); } '?これが動作するかどうかは不明です。実際に「ホスト」とは何ですか? ''はコンポーネントのようには見えません。 –
あなたはコンストラクタでプロバイダーをリクエストするときに "注入"を話していますが、この場合はそれを意味するものではありません。私がここに挿入することは、すでにレンダリングされたDOM要素、この場合はスパンにディレクティブを挿入することです。あなたはこれをhtmlのように 'ここをクリックしてください。'しかし、今私はそれを行うプログラム的な方法を探しています。 – RichieRock
これは、注入には名前が付けられていないか、関連していません。ディレクティブを動的に追加することは現在サポートされていません。コンポーネントのみを動的に追加できます。 –