余分な要素を追加せずに、一部のコンテンツをディレクティブに変換する方法はありますか?
例えば
指令:
{
scope: {
someParam: "="
},
link: function(scope, element, attrs){
//do something
},
transclude: true,
template:'<div ng-transclude></div>'
}
ソースhtml:
<div my-directive some-param="somethingFromController">
my transcluded content: {{somethingElseFromController}}
</div>
この例では、余分な div がマークアップに追加されます。通常はこれで問題ありませんが、テーブル内でこのディレクティブを使用しようとしているため、div タグを追加すると問題が発生します。
また、指定しないtransclude
かtemplate
、余分な div タグを削除しようと{{somethingElseFromController}}
しましたが、「トランスクルードされた」コンテンツが分離されたスコープにあるため、現在は見つかりません。独立したスコープを作成する代わりに、リンク関数の attrs オブジェクトからディレクティブのパラメーターを取得できることはわかっていますが、scope.$apply() で文字列を評価する必要は避けたいと考えています。
これを達成する方法を知っている人はいますか?ありがとう!