AngularJS指令 - 关于被转换内容的指令

时间:2014-01-15 06:54:16

标签: javascript angularjs scope directive

http://plnkr.co/edit/XbgMa9681GkKPeodplJx?p=preview

请参阅上面的plunker。有没有办法将模板dom中的指令绑定到父指令的作用域?我已经看到了ng-transclude的这种行为,上面的内容就像我能做到的一样简单。我已经读过,被转换的内容属于范围,它是指令范围的兄弟,但是$$ nextSibling似乎也不是诀窍。

1 个答案:

答案 0 :(得分:0)

使用指令:

app.directive('accordion', function($compile) {
  return {
      restrict: 'C',
      scope: { 

      },
      link: function(scope, elem, attrs){
        scope.showSection = false;
        elem.find('p').attr('ng-show', 'false');
        $compile(elem.find('p'))(scope)
        elem.find('h1, h2').bind('click', function () {
          scope.$apply(function(){
            scope.showSection = !scope.showSection; 
            elem.find('p').attr('ng-show', 'showSection');
            $compile(elem.find('p'))(scope);
          });
        });
      }
  };
});

plunkr