지시사항의 물음표
저는 튜토리얼에 따라 필요한 작업 지침을 얻으려고 했습니다.ngModel:
app.directive("contenteditable", function() {
return {
restrict: "A",
require: "ngModel",
/* etc. */
다음과 같이 로드하지 못했습니다.
명령어 'contentible'에 필요한 컨트롤러 'ngModel'을 찾을 수 없습니다!
require: "?ngModel"
이제 잘 작동합니다.제 생각엔?선택사항이긴 한데 그게 말이 되질 않아요.물음표는 무엇을 하고 있습니까?또한 (명료하지 않은 경우) 왜 지시가 기능하도록 하고 있습니까?
당신이 추측한 그대로입니다.?는 디렉티브를 옵션으로 합니다.
기본적으로 지시 요건을 정의할 때는 다음 사항을 자유롭게 사용할 수 있습니다.
someDirective: 동일한 요소에 대해 어떤 디렉티브가 필요하며 링크 기능에 전달합니다.?someDirective: 같은 요소에서 사용할 수 있는 경우 몇 가지 Directive 컨트롤러를 링크 기능에 전달합니다.그렇지 않으면 null을 통과합니다.^someDirective: 부모 요소 중 하나에 대해 어떤 디렉티브를 요구하여 링크 기능에 전달합니다.?^someDirective: 부모 요소 중 하나에서 사용 가능한 경우 몇 가지 Directive 컨트롤러를 링크 기능에 전달합니다.그렇지 않으면 null을 통과합니다.
디렉티브에 다른 디렉티브가 여러 개 필요한 경우 동일한 디렉티브를 사용하여 다음과 같은 어레이를 전달할 수 있습니다.
require: ['firstRequiredDirective', '^secondRequiredDirective']
이번에는 필요한 디렉티브의 컨트롤러 배열을 링크 함수에 전달합니다.
당신의 경우, 만약 요소가 다음 값을 갖는다면contenteditable디렉티브는ngModelngModelController는 링크 함수에 전달됩니다.
없는 경우ngModel지시가 있으면 통과될 거야null.
@Igor Pantovic의 답변에 대한 자세한 내용을 덧붙입니다.^Angular에서 접두사JS $compile 가이드:
(프리픽스 없음): 현재 요소에서 필요한 컨트롤러를 찾습니다.찾을 수 없는 경우 오류를 발생시킵니다.
? - 필요한 컨트롤러를 찾거나 찾을 수 없는 경우 null을 링크 fn에 전달합니다.
^ - 요소와 그 부모를 검색하여 필요한 컨트롤러를 찾습니다.찾을 수 없는 경우 오류를 발생시킵니다.
^^ - 요소의 부모를 검색하여 필요한 컨트롤러를 찾습니다.찾을 수 없는 경우 오류를 발생시킵니다.
?^ - 요소와 그 부모를 검색하여 필요한 컨트롤러를 찾거나 찾을 수 없는 경우 null을 링크 fn에 전달합니다.
?^^ - 요소의 부모를 검색하여 필요한 컨트롤러를 찾거나 찾을 수 없는 경우 null을 링크 fn에 전달합니다.
?는 필수 디렉티브를 옵션으로 만듭니다., 은 해당됩니다. '쓰다'라고 있어요.ngModel 일 수도 있다contenteditable하지만 실제로는 필요하지 않습니다.
언급URL : https://stackoverflow.com/questions/29777170/question-mark-in-directive-require
'programing' 카테고리의 다른 글
| Formik과 함께 Material-UI의 자동 완성 구성요소 사용 (0) | 2023.03.28 |
|---|---|
| 효소의 얕은 포장지 내용물 인쇄 방법 (0) | 2023.03.23 |
| WooCommerce에서 바리에이션 선택 시 제품 페이지 가격 업데이트 (0) | 2023.03.23 |
| 스프링 부트 @Autowired with Kotlin in @Service는 항상 null입니다. (0) | 2023.03.23 |
| Oracle에서 두 열을 하나의 열로 비교하는 방법 (0) | 2023.03.23 |