余分な要素を追加しないで、ディレクティブに一部のコンテンツをクロールする方法はありますか?例えば新しい要素を追加せずにAngularJSで転記する
ディレクティブ:
{
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タグを追加するとそれが問題になります。
余分なdivタグを取り除くtransclude
またはtemplate
も指定しないようにしましたが、今ではは隔離されたスコープ内にあるため、見つからないことがあります。私は孤立したスコープを作成するのではなく、リンク関数内のattrsオブジェクトから自分のディレクティブのパラメータを取得することができますが、スコープで文字列を評価する必要はありません。
誰でもこれを達成する方法を知っていますか? ありがとう!ロブのポスト@については詳しく説明し
somethingElseFromController'は 'こと「トランスクルード」コンテンツとは何か提供することを意味する? –
何でもかまいません。例えばコントローラからの文字列私は、コントローラーと同じスコープ内にあるように、私のトランスコードされたコンテンツが必要です。 – rob
angleには、スコープを 'ハングする'要素が必要です。しかし、単に振る舞いを追加しようとしている場合は、あなたが言ったように、テンプレートは必要ありません。はい。それ以外の場合は、親スコープを使用します。 –