从内部指令定位

时间:2015-07-13 23:44:11

标签: javascript html css angularjs

我有一个指示在整个页面上显示覆盖,定位“绝对”到前0,左0.

我不希望将叠加层定位,而是要与网站一起滚动。

因为我需要访问控制器中的元素,所以我将指令元素“隐藏”在相对元素中。我有办法实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

由于其他定位不起作用,我最终创建了一个代理指令(在这种情况下实际上包含一些html代码),我编译并追加到body标签,避免了问题:

.directive('proxy',['$compile','$document','$rootScope',function($compile,$document,$rootScope){
    return {
      templateUrl: 'proxy.html',
      restrict: 'E',
      link: function(scope, element, attr) {
        var body = $document.find('body').eq(0);
        if(!$rootScope.proxy) {
          var expl = $compile("<actual-directive></actual-directive>")(scope);
          body.append(expl);
          $rootScope.proxy = true;
        }
      }
    };
  }])

向$ rootScope添加属性并不太好,但它会阻止指令多次打开