根据元素改变ng-hide样式?

时间:2014-07-07 16:17:33

标签: javascript css angularjs

现在,我有一个页面,我在不同的元素上使用ng-show和ng-hide。在某些元素上我需要visibility: hidden!important;,这样它仍然会在页面上占用空间。在其他元素上,我需要它们与display: none!important;完全消失。

我有没有办法为他们提供不同的属性?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用ng-style代替ng-show / ng-hide并有条件地将类应用于元素。 https://docs.angularjs.org/api/ng/directive/ngStyle

答案 1 :(得分:0)

您想要创建这种指令:

.directive('ngVisible', function () {
    return function (scope, element, attr) {
        scope.$watch(attr.ngVisible, function (visible) {
            element.css('visibility', visible ? 'visible!important' : 'hidden!important');
        });
    };
})

关于您的使用案例,您将在ng-visibleng-show / ng-hide之间进行选择。