저는 Angular에 상당히 익숙하며 물건을 적재하는 순서에 대한 도움을받을 수 있습니다.상위 지시문에서 함수를 정의하고 하위 지시문의 템플릿 속성에서 해당 함수를 호출하기 전에 상위 지시문을 실행하도록 할 수 있습니까?
두 개의 지시문이 있습니다. 부모 지시문 (이력서 목록) 및 자식 지시문 (슬릭 슬라이더). 내 문제는 하위 지시문의 (data-source-fn) 속성이 해당 fn이 정의 된 상위 제어기 전에 실행된다는 것입니다. "정의되지 않은 아마도 처리되지 않은 거부"-와 매끄러운 슬라이더 슬라이드 결코 부하 :이 콘솔 =에 오류가 발생
이제<resume-list>
<slick-slider
data-page-size="3"
data-scroll-size="3"
data-page-buffer="3 + 1"
data-total="slides.length"
data-config="resumeConfig"
data-theme="'theme-resume'"
data-slide-template-url="'app/widgets/slickSlider/resume-slide-tpl.html'"
data-source-fn="getResumeSlides(id, start, limit)">
</slick-slider>
</resume-list>
나는이 문제를 해결하지만, 점점 유지하는 세 가지 방법을 시도했습니다 같은 오류. 그러나 typescript로 Component에 부모 지시문을 만들면 모든 것이 잘 동작합니다. 그래서, 제 질문은 ... 부모에게 자녀에게 전달할 데이터가있는 지침을 가질 수 있습니까?
나는 부모 지침에 대한 시도했다 :
1. Directive with Controller
2. Directive with no Controller but a (pre) link function instead
3. Directive with no Controller and a compile (pre) link function
위의
세 가지가 나에게 같은 오류를 제공합니다 : "아마 처리되지 않은 거부 : 정의되지 않은".... 내가 콘솔에서 디버깅 정의되지 않은 객체가되는 것을 포기 종료 데이터 소스 fn을 ...
바인딩이 된 후 항상 호출되도록 보장 컨트롤러의$onInit()
방법에 넣어해야합니다 존재하는 바인딩에 의존
당신이'매끄러운-slider' 타이프 라이터 코드의 생성자에서 FN을 실행할 수 있습니다 : 지시어로
? –바인딩이 존재하는 것에 의존하는 초기화 로직은 컨트롤러의'$ onInit()'메소드에 넣어 져야합니다.이 메소드는 바인딩이 할당 된 후에 항상 호출되도록 보장합니다. – georgeawg
코드로 인해 발생하는 문제에 대해 질문 할 때 사람들이 문제를 재현하는 데 사용할 수있는 코드를 제공하면 훨씬 더 좋은 대답을 얻을 수 있습니다. [최소한의 완전하고 검증 가능한 예제를 만드는 방법] (https://stackoverflow.com/help/mcve)을 참조하십시오. – georgeawg