AngularJS -directive to self remove / insert

时间:2017-07-06 20:18:50

标签: javascript angularjs angularjs-directive

我正在尝试根据用户的权限创建一个控制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,用户可以通过开发人员控制台禁用...

提前致谢!

1 个答案:

答案 0 :(得分:0)

而是使用.remove()尝试使用.addClass().removeClass()添加具有display:none的类,并在必要时将其删除。 方法.remove()删除了显示元素,因此您无法再次显示它。

另一种选择是使用.css(),但与其他人相比,您的处理速度较慢