programing

AngularJS - 지시사항을 지정하는 요소를 동적으로 작성합니다.

newstyles 2023. 3. 25. 10:56

AngularJS - 지시사항을 지정하는 요소를 동적으로 작성합니다.

다음과 같은 설정이 있습니다.

  • 컨트롤러c브로드캐스트이벤트e
  • 지시.d리슨e, 및 oneappend를 통해 DOM에 쓰기를 수행함으로써 디렉티브를 지정하는 새로운 요소가 생성됩니다.d2.

IE:element.append('<directiveTwo ...>')

  • 지시.twoAngular가 호출한 적이 없습니다.
  • DOM(및 디버깅)을 검사하면 컨트롤러가c및 지시사항d그들의 일을 하고 있고, 나는 새로운 것을 가지고 있다.directiveTwo요소들.

무엇이 부족합니까?지시를 트리거하기 위해 필요한 작업2그 요소들을 동적으로 작성한 후 호출할 수 있습니까?

를 참조해 주세요.이 서비스는 다음과 같이 사용할 수 있습니다.

var newDirective = angular.element('<div d2></div>');
element.append(newDirective);
$compile(newDirective)($scope);

그러면 새 요소의 컴파일 및 링크가 수행되며,d2실행에 옮기다

다만, 원래의 디렉티브를 다음과 같은 다른 빌트인 디렉티브의 관점에서 재작성할 수 있는 경우는, 보다 심플하고 각진 것을 알 수 있습니다.ng-repeat또는ng-include컴파일 및 링크를 수행합니다.

지시사항이 충분히 간단한 경우 이벤트를 들을 때 어레이에 추가하는 것과 같은 작업을 수행할 수 있으며 다음과 같은 템플릿을 지정할 수 있습니다.

<div ng-repeat="evt in recordedEvents">
    <div d2="evt"></div>
</div>

언급URL : https://stackoverflow.com/questions/20025526/angularjs-dynamically-creating-elements-that-specify-directives