지시어의 '말단'을 어떻게 이해합니까?
이 페이지 : http://docs.angularjs.org/guide/directive
지시 정의 개체
단말
true로 설정하면 현재 priority가 실행되는 마지막 디렉티브 세트가 됩니다(현재 priority의 디렉티브는 같은 priority의 실행 순서가 정의되어 있지 않기 때문에 계속 실행됩니다).
잘 모르겠어요.무엇인가.current priority그런 지시가 있는 경우:
- {priority: 1, terminal: false}의 directive1
- {priority: 10, terminal: false}의 디렉티브2
- {priority: 100, terminal: false}의 directive3
- {priority: 100, terminal: true} // 이것은 true입니다.
- {priority: 1000, terminal: false}의 directive5
주의해 주세요.directive4가지다terminal:true다른 사람들은 가지고 있다false.
html 태그에 5가지 디렉티브가 모두 포함되어 있는 경우:
<div directive1 directive2 directive3 directive4 directive5></div>
5가지 지시사항의 실행순서는 어떻게 되나요?
우선 순위.
priority는 1개의 요소에 복수의 디렉티브가 있는 경우에만 관련됩니다.우선순위에 따라 이러한 지시사항을 어떤 순서로 적용/시작할지가 결정됩니다.대부분의 경우 우선순위는 필요하지 않지만 컴파일 함수를 사용할 때 컴파일 함수가 먼저 실행되도록 해야 하는 경우가 있습니다.
터미널
terminal 속성은 동일한 HTML 요소에 있는 디렉티브에만 관련이 있습니다.즉, 다음과 같은 경우<div my-directive1></div> <div my-directive2></div>,priority그리고.terminal지시대로my-directive1그리고.my-directive2서로 영향을 미치지 않을 거야서로 영향을 미칠 수 있는 것은,<div my-directive1 my-directive2></div>.
터미널 속성은 Angular에게 그 뒤에 오는 요소(낮은 우선순위)의 모든 지시어를 건너뛰도록 지시합니다.이 코드로 클리어 할 수 있습니다.
myModule.directive('myDirective1', function() {
return {
priority: 1,
terminal: false,
link: function() {
console.log("I'm myDirective1");
}
}
});
myModule.directive('myDirective2', function() {
return {
priority: 10,
terminal: true,
link: function() {
console.log("I'm myDirective2");
}
}
});
myModule.directive('myDirective3', function() {
return {
priority: 100,
terminal: false,
link: function() {
console.log("I'm myDirective3");
}
}
});
이 경우 콘솔에는 "I'm my Directive 2"와 "I'm my Directive 3"만 표시됩니다.
<div my-directive1 my-directive2 my-directive3></div>
다만, 「I'm my Directive 1」도 표시됩니다.이것들은 다른 요소에 있기 때문입니다.
<div my-directive1></div>
<div my-directive2></div>
<div my-directive3></div>
오리지널 투고
이 예에서는 priority가 높은 디렉티브가 먼저 적용되므로 priority가 100인 디렉티브와 1000인 디렉티브만이 적용됩니다.
이 경우 priority가 100인 디렉티브가 2개 있는 경우 priority가 같은 디렉티브의 순서가 정의되어 있지 않기 때문에 둘 다 적용됩니다.
이는 동일한 요소에 있는 지시어에만 적용됩니다.
언급URL : https://stackoverflow.com/questions/15266840/how-to-understand-the-terminal-of-directive
'source' 카테고리의 다른 글
| Nodejs/Express용 Mongodb 드라이버와 함께 Mongodb를 직접 사용하는 대신 Mongoose ODM을 사용해야 하는 이유는 무엇입니까? (0) | 2023.03.06 |
|---|---|
| mongoose 접속 오류 콜백이 발생합니까? (0) | 2023.03.06 |
| TypeScript에서 중첩된 클래스를 만들 수 있습니까? (0) | 2023.03.01 |
| 단일 그룹 함수가 아닌 SQL (0) | 2023.03.01 |
| 스프링 부트 MVC 테스트 - MockMvc는 항상 null입니다. (0) | 2023.03.01 |