이 질문은 요소에 추가 지시문을 추가하는 래퍼 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!