我有一个指示在整个页面上显示覆盖,定位“绝对”到前0,左0.
我不希望将叠加层定位,而是要与网站一起滚动。
因为我需要访问控制器中的元素,所以我将指令元素“隐藏”在相对元素中。我有办法实现这个目标吗?
答案 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添加属性并不太好,但它会阻止指令多次打开