大佬教程收集整理的这篇文章主要介绍了当我调用element.remove时,为什么没有$destroy触发?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是plunkr:http://plnkr.co/edit/3Fz50aNeuculWKJ22iAX?p=preview
JS
angular.module('testMod',[]) .controller('TESTCtrl',function($scopE){ $scope.removeElem = function(id) { var elem = document.getElementById(id); angular.element(elem).remove(); } }).directive('testDir',[function() { return { scope:true,link: function(scopE) { console.log('in directive'); scope.$on('$destroy',function(){ alert('destroyed'); }) } } }]);
HTML
<body ng-controller='TESTCtrl'> <div testDir id='test'>I will be removed.</div> <button ng-click='removeElem('test')'>remove</button> </body>
来自angular.js源(我确定它在网站的某个地方记录,但是我没有看)
你的指令应该是(注意我添加了scope,element和attrs作为链接参数):另外,这里是一个plunker。
directive('testDir',link: function(scope,element,attrs) { console.log('in directive'); element.on('$destroy',function(){ alert('destroyed'); }) } }; }]);
以上是大佬教程为你收集整理的当我调用element.remove时,为什么没有$destroy触发?全部内容,希望文章能够帮你解决当我调用element.remove时,为什么没有$destroy触发?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。