html – destroy指令子范围破坏

html – destroy指令子范围破坏,第1张

概述我有一个指令,编译另一个指令,并将其附加到身体,具有相同的范围通过.这与“父”指令的位置不一样. 当父指令被破坏时,有没有办法让孩子的指令和范围也被破坏?我问,因为在检查了DOM后,孩子的指令还在. 目前我挂钩父母$destroy事件,但如果能自动处理好奇心, jsFiddle:http://jsfiddle.net/FPx4G/1/ 孩子在家中转过身去,但我想要被摧毁.这样做最好的方法是什么? 我有一个指令,编译另一个指令,并将其附加到身体,具有相同的范围通过.这与“父”指令的位置不一样.

当父指令被破坏时,有没有办法让孩子的指令和范围也被破坏?我问,因为在检查了DOM后,孩子的指令还在.

目前我挂钩父母$destroy事件,但如果能自动处理好奇心,

Jsfiddle:http://jsfiddle.net/FPx4G/1/

孩子在家中转过身去,但我想要被摧毁.这样做最好的方法是什么?

HTML:

<div ng-app="app">    <div ng-controller="ParentCtrl">        <button data-ng-click="toggleParent()">Toggle Parent</button>        <div data-ng-switch data-on="displayDirective">            <div data-ng-switch-when="true">                <div >Parent Directive</div>            </div>        </div>    </div></div>

JavaScript的:

angular.module('app',[])    .directive("parentDirective",function($compile){        return {            restrict: 'C',link: function(scope,element){                var secondDirective = angular.element(document.createElement("div"));                secondDirective.addClass("childDirective");                document.body.appendChild(secondDirective[0]);                $compile(secondDirective)(scope);            }        }    })    .directive("childDirective",function(){        return {            restrict: 'C',template: '<div>Child Directive</div>',element){                scope.$on("destroy",function(){                   alert(1);                 });            }        }    });function ParentCtrl($scope){   $scope.displayDirective = true;    $scope.toggleParent = function(){        $scope.displayDirective = !$scope.displayDirective;    }}

通常,我只需要在原始指令的模板中设置子元素,使其正确定位.这个问题真的归结于z-index的处理.父元素位于可以滚动的容器中,因此如果小于该容器的大小,则该子项(在一种情况下为自定义下拉列表)将被隐藏/切断.为了打击这一点,我在文档主体中创建实际的子节点,并将其相对于父节点定位.它也会听滚动事件重新定位自己.我有一切工作都很好.当我需要删除父母时会发生什么…孩子还在那里.

解决方法
directive("childDirective",function(){    return {        restrict: 'C',template: '<div >Child Directive</div>',element){                              scope.$on("$destroy",function() {                element.remove();            });         }    }});

更新小提琴:http://jsfiddle.net/C8hs6/

总结

以上是内存溢出为你收集整理的html – destroy指令/子范围破坏全部内容,希望文章能够帮你解决html – destroy指令/子范围破坏所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1093591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存