제목에서 알 수 있듯이 중첩 된 사용자 지정 지시문을 사용하는 Angular 프로젝트에 몇 가지 문제가 있습니다. 사용자가 확인란을 클릭하여 검색 결과의 JSON 피드를 필터링 할 수있는 인터페이스를 만들고 있습니다. 이 지침 템플릿 계층 구조는 다음과 같다 :Angular JS - 중첩 된 사용자 지정 지시문이있는 ControllerAs 사용
<filtergroup>
<filter></filter>
</filtergroup>
내가 filtergroup에 대한 템플릿 내에서 filtergroup 지침의 컨트롤러에 정의 된 변수에 접근 할 수있을 것. 그러나 나는 다음
require: '^filtergroup'
를 사용에도 불구하고, 자식 지침에서 같은 변수에 액세스 할 수 없습니다 내 지침은 다음과 같습니다
.directive('filtergroup', [function(){
return{
restrict: 'E',
transclude: true,
scope: { },
template: '<div><ng-transclude></ng-transclude>{{filtergroup.variable}}</div>',
bindToController: true,
controllerAs: 'filtergroup',
replace: true,
controller: function() {
var self = this;
self.variable = "blah";
}
};}])
.directive('filter', [function(){
return {
restrict: 'E',
template: '<div>{{filtergroup.variable}}</div>',
require: '^filtergroup',
scope: {},
link: function(scope, elem, attr, filtergroupCtrl){
scope.active = false;
}
};}]);
이 나는 또한에 문제의 단순화 Codepen을 만들었습니다
이 날 미치게 될 때http://codepen.io/decodedcreative/pen/NrNqXm
어떤 도움도 좋을 것! 감사합니다
도움을 주셔서 감사합니다. 나는 결코 그것을 해결하지 못했을 것이다. Angular가 학습 곡선을 가지고 있다는 것은 사실입니다! –