children 요소에서 directive scope
에 액세스하려고하는데 테스트 기능이 실행되지만 작동하지 않습니다.하위 요소의 액세스 범위 지시문
HTML
<div my-directive>
<div ng-click="triggerFromDirective('hello')">Click me</div>
</div>
지침
.directive('myDirective', function() {
return {
scope: {},
controller: function($scope) {
// This function doesn't fire when click on the
// element
$scope.triggerFromDirective = function(msg) {
alert(msg);
}
}
}
});
가이 방식으로 지시자에 기능을 실행할 수 있습니까? 그렇지 않다면 어떻게 그걸 성취합니까?
일반적으로 스코프를 혼합하는 것은 좋지 않습니다. 귀하의 지시어 (외부 범위에 거주)의 소비자는 일반적으로 'triggerFromDirective' (지시문의 격리 범위에서 정의 됨)를 알지 못합니다. –
이 [image] (http://angular-tips.com/images/) transclusionscopes/diag2.jpg) 꽤 많이 요약합니다. 내부 요소는 "my-directive"에 대한 형제 범위를가집니다. 'triggerFromDirective'를 실행시키는 방법은'my-directive'에 템플릿으로 포함시키는 것입니다. – Pete
@NewDev 사실입니다, Pete Yhea 감사합니다. :) – Fabrizio