この質問では、要素に追加のディレクティブを追加するラッパー AngularJS ディレクティブを作成する方法について説明します。に適用されます。目標は、$compile を使用して新しいディレクティブを追加してコンパイルしようとするときに無限ループを回避することです。
提供されるソリューションでは、次の手順が採用されています。
優先度とターミナル設定:
例
<code class="javascript">angular.module('app') .directive('commonThings', function ($compile) { return { restrict: 'A', replace: false, terminal: true, priority: 1000, link: function (scope, element, attrs) { element.attr('tooltip', '{{dt()}}'); element.attr('tooltip-placement', 'bottom'); element.removeAttr("common-things"); // Remove the wrapper directive's attribute element.removeAttr("data-common-things"); // Also remove the same attribute with data- prefix $compile(element)(scope); } }; });</code>
以上がAngularJS でラッパー ディレクティブからディレクティブを追加するときに無限ループを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。