angular.js - angular はどのように HTML コードを取得して別の場所に割り当て、HTML 内の ng-click イベントを有効にしますか?
淡淡烟草味
淡淡烟草味 2017-05-15 16:56:19
0
3
714

ng-click を使用して HTML の一部を取得したいと考えています。この HTML には ng-click イベントもあり、この HTML の部分を検索してポップアップ レイヤーに割り当てます。この HTML の ng-click イベントは無効です。どうすれば修正できますか?
$scope.readmore_maincomment = 関数(イベント){

リーリー

コードはこの方法で取得した内容ですが、使い方が間違っている可能性があり、このhtml内容を取得する方法を教えてください。 HTML も有効になる可能性があります

淡淡烟草味
淡淡烟草味

全員に返信(3)
为情所困

Angular は起動の開始時に dom を走査し、html にバインドされているすべてのディレクティブを見つけて、コンパイルしてリンクします。その後、`v-click` のような命令により、応答イベントが配置されている dom 要素にバインドされます。 HTML 文字列を DOM に直接挿入すると、Angular はこの HTML 文字列内の命令を解析できなくなります。この問題を解決するために、angular に組み込まれている $compile サービスを利用します。

使用法:

  1. $compile サービスを挿入します

  2. $compile(htmlstring または domelement)(スコープ)

  3. HTMLstringをコンパイルする場合、最終的にdomへのリンクの後にリターンを挿入します

  • $compile() は、テンプレートをスコープにバインドするリンク関数を返します

公式ウェブサイトのドキュメント:

https://docs.angularjs.org/api/ng/service/$compile

いいねを押す +0
仅有的幸福

angularjs の考え方では、DOM の操作を回避する必要があります。あなたのニーズは他の方法で実現されるべきであり、データバインディングを通じて目標を達成することも、ng-template を使用して達成することもできます。

いいねを押す +0
过去多啦不再A梦

DOM の操作はすべて命令の中にあり、現在操作したい DOM 構造を命令として記述し、コピーしたい HTML をリンク関数のパラメータに記述します。 ngclick コピー後も同じことが有効になります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート