我有一个从托管服务运行的角度应用程序。我遇到的问题相对较小,但令人沮丧。
我有一组自定义指令加载到页面中,使用ng-repeat和基于使用ng-model的select元素值的过滤器。它大部分工作正常。
在元素指令中,我还有一个' close'从页面中删除元素的按钮。当我更改选择菜单的值以显示刚关闭的元素时,会出现问题。一旦元素重新出现,元素中的按钮就不会触发它们的回调。我认为这与链接功能发生一次这一事实有关,但是在使用选择菜单再切换几次后功能会恢复。
如果有人对此有任何见解,我将不胜感激。当某些东西被移除或带回来时,过滤器究竟做了什么?为什么这会导致事件句柄无效?
angular.module("App",[])
.directive("test",function(){
return {
restrict: 'E',
scope:{
name:'@'
},
templateUrl:"test.html",
link: function(scope,element,attrs){
scope.hide=function(){
element.remove();
};
}
};
})
.controller("AppController",['$scope',function($scope){
$scope.examples=[
{
name:'first'
},
{
name:'second'
},
{
name:'third'
}
];
}]);
要查看行为,请点击任意元素上的隐藏,然后尝试选择该元素并看到隐藏按钮无法正常工作。