我正在尝试创建一个指令来根据用户的权限控制DOM中的某些元素。在互联网上寻找,我找到了该元素的.remove()
函数。它工作得很好。
但是,如果权限更改,我需要再次显示 DOM 元素。打电话给.remove()
后我该怎么做?
这是我的代码:
ddo.link = function(scope, el, attrs){
// Validate the permission
if( currentUserService.isAllowed(scope.validatePermission) !== true) {
el.remove();
}
// Listener for changes
$rootScope.$on("eventName", function(event, param){
// Validate the permission
if( currentUserService.isAllowed(scope.validatePermission) !== true) {
el.remove();
} else {
// SHOW THE ELEMENT AGAIN!
}
});
};
或者,有没有另一种方法可以删除 de HTML 并再次插入?因为使用 CSS,用户可以通过开发人员控制台禁用...
提前感谢!
改为使用.remove()
尝试使用.addClass()
和.removeClass()
添加一个带有display:none
的类,并在必要时将其删除。 该方法.remove()
删除显示元素,因此您无法再次显示此内容。
另一种选择是使用.css()
但与其他处理速度相比,您的处理速度较慢