ng-click を使用して HTML の一部を取得したいと考えています。この HTML には ng-click イベントもあり、この HTML の部分を検索してポップアップ レイヤーに割り当てます。この HTML の ng-click イベントは無効です。どうすれば修正できますか?
$scope.readmore_maincomment = 関数(イベント){
コードはこの方法で取得した内容ですが、使い方が間違っている可能性があり、このhtml内容を取得する方法を教えてください。 HTML も有効になる可能性があります
为情所困2017-05-15 16:58:19
Angular は起動の開始時に dom を走査し、html にバインドされているすべてのディレクティブを見つけて、コンパイルしてリンクします。その後、`v-click` のような命令により、応答イベントが配置されている dom 要素にバインドされます。 HTML 文字列を DOM に直接挿入すると、Angular はこの HTML 文字列内の命令を解析できなくなります。この問題を解決するために、angular に組み込まれている $compile サービスを利用します。
使用法:
$compile サービスを挿入します
$compile(htmlstring または domelement)(スコープ)
HTMLstringをコンパイルする場合、最終的にdomへのリンクの後にリターンを挿入します
$compile() は、テンプレートをスコープにバインドするリンク関数を返します
公式ウェブサイトのドキュメント:
https://docs.angularjs.org/api/ng/service/$compile
仅有的幸福2017-05-15 16:58:19
angularjs の考え方では、DOM の操作を回避する必要があります。あなたのニーズは他の方法で実現されるべきであり、データバインディングを通じて目標を達成することも、ng-template を使用して達成することもできます。
过去多啦不再A梦2017-05-15 16:58:19
DOM の操作はすべて命令の中にあり、現在操作したい DOM 構造を命令として記述し、コピーしたい HTML をリンク関数のパラメータに記述します。 ngclick コピー後も同じことが有効になります。