問題タブ [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.
angularjs - AngularJS : ディレクティブのコンパイルされていないトランスクルード コンテンツを取得する方法
グリッド内の行の HTML テンプレートとして、ディレクティブのトランスクルード コンテンツ (テンプレートではなく、ディレクティブの元のコンテンツ) を使用しようとしています。
アクション列テンプレートの生の HTML (コンパイルされておらず、スコープにバインドされていない) が必要だという考えです。
各行の生成は制御しないので、transclude(rowScope) を使用してそのアクション テンプレートを各行のスコープに手動でバインドすることはできません。プレーンな html として必要なだけです (つまり、"{{ }}" と内部ディレクティブは変更されていません)。
リンク関数から transclude() fn を実行すると、トランスクルードされたコンテンツが得られますが、スコープにバインドされ、内部ディレクティブが展開されています。また、コンパイル関数の tElem パラメータの html() は、トランスクルードされるコンテンツではなく、ディレクティブのテンプレートの HTML を返します。
問題は、コンパイル、コントローラー、preLink、または postLink 関数で、ディレクティブのトランスクルードされるコンテンツをコンパイルされていない HTML として取得できるかということです。
ありがとうございました。
javascript - Angular Transclude - ng-repeat は繰り返されません
Angularディレクティブで遊んでいて、私が遭遇した問題に遭遇しました...コードは次のとおりです:
オブジェクトは配列に正常にプッシュされますが、一体なぜそれらは繰り返されないのでしょうか?
ご協力ありがとうございます。
javascript - Transclude してから angularjs に置き換えます
を置き換えるディレクティブを作成したいと思います:
と :
replace
メソッドはまだ推奨されていません。
DOM を操作して を作成し、以前に定義されdiv
たクラスにクラスを追加し、ディレクティブをトランスクルードして置換するディレクティブを作成する方法は?default-overlay
<my-map>
プロセスを次のように分割することは可能ですか: での DOM 操作compile
とトランスクルージョンでlink
?
angularjs - 子ディレクティブが実行される前にトランスクルードするコンテンツを複製する
ブートストラップのようなドキュメント ページの一部として使用されている別のディレクティブの例を示すディレクティブを作成しました。次に例を示します。
内部に配置されているマークアップをコピーし、それをタグに入れて<code>
、ディレクティブを使用するために必要なマークアップを表示したいと考えています。
ただしng-model
、クラスを入力に追加して、次のようにします。
代わりに、example
ディレクティブは以下をキャプチャする必要があります。
ただし、内部ディレクティブが実行される前に、トランスクルージョンされたコンテンツにアクセスできないようです。これは、問題を示すプランカーです。
、、および関数ではcontroller
、入力には既に からの css クラスがあります。preLink
postLink
ng-model
example
angular が子ディレクティブをコンパイルする前に、ディレクティブの内容にアクセスする方法はありますか?
javascript - AngularJs - Transclude ng-controller を壊す
私はAngularについて深く理解していますが、何が間違っているのか理解できません。
ng-controller で囲まれたディレクティブがあります。
HTML
ng-model="pass"
バインド先であり、$scope.pass = "1234";
ユーザーが更新する必要があります。
私の問題:
ビューによって更新されない$scope.pass
のはなぜですか?
ここに完全なデモがあります - http://plnkr.co/edit/MsKm0LZtlQ45Yyq5Uw0d?p=preview
「クリックしてください」ボタンをクリックして結果を見てください。
javascript - AngularJS : トランスクルージョンされたコンテンツを含むディレクティブでの ngRepeat
オブジェクトの配列をディレクティブに渡そうとしています。ディレクティブ内で ngRepeat を使用して、渡された項目をトランスクルードされた html に出力します。これは本質的に、ここで説明されている問題と同じです。
コンパイルとリンク機能を使用して、いくつかの異なる方法を試しましたが、範囲設定について頭を悩ませることはできないと思います。petebacondarwin から提案された解決策 -ここでは機能しますが、配列をディレクティブに渡す必要があります (したい)。
これが私の現在のバージョンです-Plunker
指令
html
ありがとう
javascript - AngularJS : ディレクティブからトランスクルードされたテンプレートにオブジェクトを渡す方法
ユーザーが検索を実行できるようにする UI を作成するディレクティブがあります。ディレクティブは、トランスクルージョンして個々の検索結果のテンプレートになるコンテンツをラップします。このようなもの:
コントローラーのスコープで ng-click に selectResult 関数を呼び出してもらいたいのですが、result
オブジェクトはディレクティブから取得します。ディレクティブで分離されたスコープを使用してこれを達成するにはどうすればよいですか?