問題タブ [angularjs-ng-transclude]

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 に答える
884 参照

angularjs - AngularJS : ディレクティブのコンパイルされていないトランスクルード コンテンツを取得する方法

グリッド内の行の HTML テンプレートとして、ディレクティブのトランスクルード コンテンツ (テンプレートではなく、ディレクティブの元のコンテンツ) を使用しようとしています。

アクション列テンプレートの生の HTML (コンパイルされておらず、スコープにバインドされていない) が必要だという考えです。

各行の生成は制御しないので、transclude(rowScope) を使用してそのアクション テンプレートを各行のスコープに手動でバインドすることはできません。プレーンな html として必要なだけです (つまり、"{{ }}" と内部ディレクティブは変更されていません)。

リンク関数から transclude() fn を実行すると、トランスクルードされたコンテンツが得られますが、スコープにバインドされ、内部ディレクティブが展開されています。また、コンパイル関数の tElem パラメータの html() は、トランスクルードされるコンテンツではなく、ディレクティブのテンプレートの HTML を返します。

問題は、コンパイル、コントローラー、preLink、または postLink 関数で、ディレクティブのトランスクルードされるコンテンツをコンパイルされていない HTML として取得できるかということです。

ありがとうございました。

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

javascript - Angular Transclude - ng-repeat は繰り返されません

Angularディレクティブで遊んでいて、私が遭遇した問題に遭遇しました...コードは次のとおりです:

オブジェクトは配列に正常にプッシュされますが、一体なぜそれらは繰り返されないのでしょうか?

ご協力ありがとうございます。

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

javascript - Transclude してから angularjs に置き換えます

を置き換えるディレクティブを作成したいと思います:

と :

replaceメソッドはまだ推奨されていません。

DOM を操作して を作成し、以前に定義されdivたクラスにクラスを追加し、ディレクティブをトランスクルードして置換するディレクティブを作成する方法は?default-overlay<my-map>

プロセスを次のように分割することは可能ですか: での DOM 操作compileとトランスクルージョンでlink?

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

angularjs - 子ディレクティブが実行される前にトランスクルードするコンテンツを複製する

ブートストラップのようなドキュメント ページの一部として使用されている別のディレクティブの例を示すディレクティブを作成しました。次に例を示します。

内部に配置されているマークアップをコピーし、それをタグに入れて<code>、ディレクティブを使用するために必要なマークアップを表示したいと考えています。

ただしng-model、クラスを入力に追加して、次のようにします。

代わりに、exampleディレクティブは以下をキャプチャする必要があります。

ただし、内部ディレクティブが実行される前に、トランスクルージョンされたコンテンツにアクセスできないようです。これは、問題を示すプランカーです。

、、および関数ではcontroller、入力には既に からの css クラスがあります。preLinkpostLinkng-model

exampleangular が子ディレクティブをコンパイルする前に、ディレクティブの内容にアクセスする方法はありますか?

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

javascript - AngularJs - Transclude ng-controller を壊す

私はAngularについて深く理解していますが、何が間違っているのか理解できません。

ng-controller で囲まれたディレクティブがあります。

HTML

ng-model="pass"バインド先であり、$scope.pass = "1234";ユーザーが更新する必要があります。

私の問題:

ビューによって更新されない$scope.passのはなぜですか?

ここに完全なデモがあります - http://plnkr.co/edit/MsKm0LZtlQ45Yyq5Uw0d?p=preview
「クリックしてください」ボタンをクリックして結果を見てください。

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

javascript - AngularJS : トランスクルージョンされたコンテンツを含むディレクティブでの ngRepeat

オブジェクトの配列をディレクティブに渡そうとしています。ディレクティブ内で ngRepeat を使用して、渡された項目をトランスクルードされた html に出力します。これは本質的に、ここで説明されている問題と同じです。

コンパイルとリンク機能を使用して、いくつかの異なる方法を試しましたが、範囲設定について頭を悩ませることはできないと思います。petebacondarwin から提案された解決策 -ここでは機能しますが、配列をディレクティブに渡す必要があります (したい)。

これが私の現在のバージョンです-Plunker

指令

html

ありがとう

0 投票する
3 に答える
3657 参照

javascript - AngularJS : ディレクティブからトランスクルードされたテンプレートにオブジェクトを渡す方法

ユーザーが検索を実行できるようにする UI を作成するディレクティブがあります。ディレクティブは、トランスクルージョンして個々の検索結果のテンプレートになるコンテンツをラップします。このようなもの:

コントローラーのスコープで ng-click に selectResult 関数を呼び出してもらいたいのですが、result オブジェクトはディレクティブから取得します。ディレクティブで分離されたスコープを使用してこれを達成するにはどうすればよいですか?