1

$watch 함수를 통해 이벤트가 발생하면 발생하는 지시문을 추가하려고합니다. 첫 번째 지시문 updater은 사용자 정의 요소 <confirmation />을 내보기에 삽입합니다. confirmation은 각각의 각도 바인딩을 가져야합니다.컨트롤러에서 함수를 호출하는 다른 지시문에 지시문을 추가하는 방법.

삽입 후 새 에있는 startChange() 함수가 새 확인 지시문 안에 실행되기를 원합니다.

나는 plnkr http://plnkr.co/edit/BEozKyRZ0rJMz2e0jyp0?p=preview

어떤 도움 대단히 감사하겠습니다을했습니다.

답변

0

우선 ...

'.' (el)와 ($ scope) 사이

var ngEl = $compile(el).($scope); 

점을 제거하면 콘솔에 정의되지 않은 응용 프로그램이 수정됩니다.

var ngEl = $compile(el)($scope); 

다음 지침의 범위에 이름 공간을 정의하고이 아닌 startChange 기능의 콘솔에서 오류를 얻을뿐만 아니라 분리 범위로를 통과해야합니다.

HTML :

<confirmation message="Please Select something" state="state" startChange="startChange()" class="background-state-{{ state }}">someText</confirmation> 

지침 : 링커에서

scope : { 
    message : '@', 
    state: '=', 
    startChange: '&' 
} 

: 난 아직도 이것이 당신이 다른 것처럼 싶은 상황인지 확실하지 않다

scope.startChange(); 

지시어 업데이트는 내가 볼 수있는 곳에서는 사용되지 않습니다 ...

내 변경 사항은 다음과 같습니다. http://plnkr.co/edit/8VoJSj7bHUkaEjUFrn3i?p=preview

+0

안녕하세요, 코드를 검토해 주셔서 감사합니다. 나열된대로 지시문에 네임 스페이스를 지정했으나 클릭 또는 자체를 anon func을 호출 할 때 바인딩 할 때 여전히 실행되지 않습니다. 데이터 세트의 val이 업데이트 될 때 청취하고 있지만 확인 태그를 삽입하면 각화되지 않습니다. someFunc(); "> ')'는 작동하지 않지만 경고 할 때'var el = $ compile ('<확인 메시지 ="{{문자열}} " 나는 사건을 완벽하게 두드리고있다. 단지 바인딩 만 문제 다. – SinSync

관련 문제