22

私たちは Angular プロジェクトで動的ディレクティブを回避するために多くの作業を行っています。あると便利なものの 1 つは、多くの異なるタイプの同様のオブジェクト (メッセージなど) をリストできる汎用ディレクティブを持つ方法です。 、ユーザー、コメントなど)、オブジェクトのタイプに基づいて特定のディレクティブに委譲します。

このディレクティブを呼び出しobject-listます。適切に動作させることができれば、多くの異なるディレクティブに委任されることを願っています。

object-list私たちが取り組む必要がある主な問題は、このディレクティブが提供されたディレクティブがシステムに存在するかどうかです。これをチェックする方法は$compile、ターゲット ディレクティブに対して を発行し、それをスコープにリンクし、その HTML コンテンツ (例: var tmpElement = $compile('<div my-message'></div>')(scope);) をチェックすることです。これは、 target ディレクティブのテンプレートがtemplateオプションによって参照されている場合に機能するように見えますが、代わりに を指定しようとするとtemplateUrl、HTML コンテンツが空になります。

これは、templateUrlアプローチが整ったプランカーです(機能していません)。コメントアウトしてtemplate行のコメントを解除すると、アラートが表示されます。

http://plnkr.co/edit/wD4ZspbGSo68v4eRViTp

ディレクティブの存在を確認する別の方法はありますか? 認めますが、これは少しハックのようです。

4

1 に答える 1