AngularJs에 숨겨진 가시성?
<button id="tagBtnId" name="TagsFilter" ng-show="disableTagButton">Tags</button>
ng-show 적용 display: none
또는 display: block
재산 그러나 나는 적용 visibility: hidden
하고 visibility: visible
재산.
다음과 같이 ng-class
또는 ng-style
지시문을 사용할 수 있습니다.
이것은 true 일 myclass
때만 버튼 에 클래스 를 추가 하고, false disableTagButton
일 때 버튼에서 제거합니다.disableTagButton
myclass
식 전달 ng-class
은 공백으로 구분 된 클래스 이름, 배열 또는 부울 값에 대한 클래스 이름의 맵을 나타내는 문자열 일 수 있습니다.
1-공백으로 구분 된 클래스 이름
.. ng-class="{strike: deleted, bold: important, red: error}"..
2-배열
.. ng-class="[style1, style2, style3]"..
style1, style2 및 style3은 CSS 클래스입니다. 자세한 내용은 아래 데모를 확인하세요.
2-표현
.. ng-class="'my-class' : someProperty ? true: false"..
경우에 someProperty
존재 한 후 추가 .my-class
다른 제거합니다.
의 css 클래스 이름
ng-class
이 대시로 구분 된 경우.. ng-class="'my-class' : ..
다른 것과 같이 문자열로 정의해야합니다... ng-class="myClass : ..
<button id="tagBtnId" name="TagsFilter" ng-class="{'myClass': disableTagButton}">Tags</button>
<style>
.myClass {
visibility: hidden
}
</style>
표현식 은 키가 CSS 스타일 이름이고 값이 해당 CSS 키에 해당하는 값인 객체에 [
ng 스타일 평가를 전달합니다 ][2]
.
전의:
.. ng-style="{_key_ : _value_}" ...
=> 속성 값 _key_
을 _value_
설정하는 동안 css 속성 입니다. 예 =>.. ng-style="{color : 'red'}" ...
다음과 같은 것을 사용
background-color
하는 경우 객체의 유효한 키가 아닌 경우.. ng-style="{'background-color' : 'red'}" ...
ng-class 와 동일 하게 인용해야합니다 .
<button id="tagBtnId" name="TagsFilter" ng-style="disableTagButton">Tags</button>
그럼 당신 disableTagButton
은
$scope.disableTagButton = {'visibility': 'hidden'}; // then button will hidden.
$scope.disableTagButton = {'visibility': 'visible'}; // then button will visible.
을 변경하여 버튼의 가시성을 변경할 수 있습니다 $scope.disableTagButton
.
또는 인라인 표현식으로 사용할 수 있습니다.
ng-style="{'visibility': someVar ? 'visible' : 'hidden'}"
인 someVar
에 true의 가시성 세트로 평가 visible
에 그렇지 가시성 설정 hidden
.
사용할 수 있습니다 ng-style
. 간단한 예 :
<div ng-style="{'visibility': isMenuOpen?'visible':'hidden'}">...</div>
런타임에 스타일이 변경되면 isMenuOpen
변경됩니다.
- 때
isMenuOpen
입니다 사실 , 당신은 할 수 있습니다style="visibility: visible"
. - 때
isMenuOpen
입니다 거짓 , 당신은 할 수 있습니다style="visibility: hidden"
.
다음은 표시 여부를 숨김 또는 표시 (축소는 아님)로 설정하는 간단한 지시문입니다.
.directive('visible', function() {
return {
restrict: 'A',
link: function(scope, element, attributes) {
scope.$watch(attributes.visible, function(value){
element.css('visibility', value ? 'visible' : 'hidden');
});
}
};
})
용법:
<button visible='showButton'>Button that can be invisible</button>
angular.module('MyModule', [])
.directive('visible', function() {
return {
restrict: 'A',
link: function(scope, element, attributes) {
scope.$watch(attributes.visible, function(value){
element.css('visibility', value ? 'visible' : 'hidden');
});
}
};
})
.controller('MyController', function($scope) {
$scope.showButton = true;
});
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app='MyModule' ng-controller='MyController'>
<button visible='showButton'>Button that can be invisible</button>
<button ng-click='showButton = !showButton'>Hide it or show it</button>
</div>
또는 부트 스트랩을 사용하는 경우 invisible
클래스를 사용하십시오.
ng-class='{"invisible": !controller.isSending}'
귀하의 경우에는 ngClass 또는 ngStyle을 사용해야 합니다.
<button id="tagBtnId" name="TagsFilter"
ng-class="{'button-hidden':!disableTagButton}">Tags</button>
그리고이 CSS :
.button-hidden{
visibility: hidden;
}
https://docs.angularjs.org/api/ng/directive/ng를 참조 하십시오 . .ng-hide 재정의에 대한 섹션 표시
All you need is to assign the class hg-hide-animate
to the element
/* style your element(s) at least for selector.ng-hide */
/* in this case your selector is #tagBtnId */
#tagBtnId.ng-hide {
/*visibility:hidden;*/
opacity: 0;
transition: opacity 1s ease-in;
}
#tagBtnId {
/*visibility:initial;*/
opacity: 1;
transition: opacity 1s ease-out;
}
(function() {
angular.module('app', []).controller('controller', Controller);
/* @ngInject */
function Controller($s) {var THIS = this;THIS.disableTagButton = false;}
Controller.$inject = ['$scope'];
})();
/* style your element(s) at least for selector.ng-hide */
/* in this case your selector is #tagBtnId */
#tagBtnId.ng-hide {
/*visibility:hidden;*/
opacity: 0;
transition: opacity 1s ease-in;
}
#tagBtnId {
/*visibility:initial;*/
opacity: 1;
transition: opacity 1s ease-out;
}
<div ng-app='app' ng-controller="controller as viewmodel">
<label>disabled</label>
<input type="checkbox" ng-model="viewmodel.disableTagButton" />
<!-- assign class "ng-hide-animate" -->
<button
class="ng-hide-animate"
id="tagBtnId" name="TagsFilter" ng-hide="viewmodel.disableTagButton">
Tags
</button>
<pre inspect>viewmodel={{viewmodel | json}}</pre>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
why you not use ng-if your tag not render in your html page. I think you use this:
<button id="tagBtnId" name="TagsFilter" ng-if="disableTagButton">Tags</button>
참고URL : https://stackoverflow.com/questions/26927585/visibility-hidden-in-angularjs
'Programing' 카테고리의 다른 글
jquery에서 추가와 반대 (0) | 2020.10.19 |
---|---|
루프에서 await를 사용하는 방법 (0) | 2020.10.19 |
SQL Server에서 십진 열의 정밀도를 어떻게 변경합니까? (0) | 2020.10.19 |
IEnumerable.Intersect ()를 사용하여 여러 목록의 교차 (0) | 2020.10.19 |
천 단위 구분 기호로 쉼표가있는 경우 문자열을 숫자로 변환하는 방법은 무엇입니까? (0) | 2020.10.19 |