라고 할 수 있는 '에서' ul '배열입니다 렌더링됩니다 수명을 각 요소와 등록 정보마다' 컨트롤러 '라는 셀레스테디네스'. 가장 좋은 방법은 어떤 약간만이라도 클래스 '를' 와 '에서' 셀레스테디네스 추가하기에서는 수명을 인덱스화할 앙굴라이스?
나는 현재 복제 (직접) '이' 수명을 클래스 중 하나로, 추가 코드를 사용하여 '및' 태그 '수명을 ng 보기' 와 'ng 숨기십시오' 하나만 표시하십시오 '당' 수명*을 색인입니다.
ng:class="{true:'selected', false:''}[$index==selectedIndex]"
또한 새로운 더 나은 방법이 적용, 조건부 클래스뿐만 다음과 같습니다.
ng-class="{selected: $index==selectedIndex}"
각 는 이제 반환하는 표현식에서는 객체를. 이 객체의 속성 (이름) 는 현재 각 클래스 이름 및 가치에 따라 발려짐 평가받고 있다.
그러나 이러한 방법으로 않습니다를 기능적으로 거의 동일하다. 예를 들어보겠습니다.
ng-class="{admin:'enabled', moderator:'disabled', '':'hidden'}[user.role]"
이에 따라 기존 CSS 속성을 통해 우리가 할 수 있는 모델을 매핑에서는 재사용합니다 클래스뿐만 기본적으로 클래스 이름, 동시에 렉시한테서 CSS 클래스뿐만 아웃해야 컨트롤러거 코드입니다.
[1] 는 [ng 클래스] 으로 하는 표현식에서는 평가하십시오
그래서 양식을 사용하여 3) 간단히 쓸 수 있습니다.
ng-class="{'selected': $index==selectedIndex}"
대한 좀더 광범위한 오토메이티드 (https://stackoverflow.com/questions/13813254/how-do-i-conditionally-apply-css-styles-in-angularjs) 참조.
ng-class="($index==selectedIndex) ? 'selected' : ''"
이 때문에 일부 i& # 39, ll 추가합니까 것, 이러한 문제의 답을 재생성합니다. # 39 의 here& 내가 어떻게 하면 된다. < br>;
<class="ng-class:isSelected">
여기서 & # 39 isSelected& # 39;; javascript 가 정의된 변수를 범위지정 내의 각 컨트롤러입니다. ,, < br> < br> < br>. 보다 구체적으로 해결할 수 있는 방법을 바뀌엇어요 here& 질문, # 39 을 생성할 수 있습니다. < br> < br>;;;
< b> HTML< /b>;;; < br>;
<div ng-controller="ListCtrl">
<li class="ng-class:item.isSelected" ng-repeat="item in list">
{{item.name}}
</li>
</div>
< br>;
< b> JS< /b>;;; < br>;
function ListCtrl($scope) {
$scope.list = [
{"name": "Item 1", "isSelected": "active"},
{"name": "Item 2", "isSelected": ""}
]
}
< br>; 참조:
이것은 훨씬 더 단순한 솔루션:
<! - begin 스니핏: js 숨기십시오: > 거짓값 -;
function MyControl($scope){
$scope.values = ["a","b","c","d","e","f"];
$scope.selectedIndex = -1;
$scope.toggleSelect = function(ind){
if( ind === $scope.selectedIndex ){
$scope.selectedIndex = -1;
} else{
$scope.selectedIndex = ind;
}
}
$scope.getClass = function(ind){
if( ind === $scope.selectedIndex ){
return "selected";
} else{
return "";
}
}
$scope.getButtonLabel = function(ind){
if( ind === $scope.selectedIndex ){
return "Deselect";
} else{
return "Select";
}
}
}
.selected {
color:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<div ng-app ng-controller="MyControl">
<ul>
<li ng-class="getClass($index)" ng-repeat="value in values" >{{value}} <button ng-click="toggleSelect($index)">{{getButtonLabel($index)}}</button></li>
</ul>
<p>Selected: {{selectedIndex}}</p>
</div>
끝 - < 스니핏 >;!
최근 비슷한 문제를 안고 내가 결정한 조건부 필터링합니다 만들기만 하면 됩니다.
angular.module('myFilters', []).
/**
* "if" filter
* Simple filter useful for conditionally applying CSS classes and decouple
* view from controller
*/
filter('if', function() {
return function(input, value) {
if (typeof(input) === 'string') {
input = [input, ''];
}
return value? input[0] : input[1];
};
});
It takes a 를 얻을 수 있는 하나의 인수를 2 요소점 어레이나 문자열으로 에 추가되는 켜졌음 배열입니다 빈 문자열이 있는 두 번째 요소:
<li ng-repeat="item in products | filter:search | orderBy:orderProp |
page:pageNum:pageLength" ng-class="'opened'|if:isOpen(item)">
...
</li>
스케쳐내 유지할 것을 넘어, 간단한 바이너리 평가 및 CSS out of your 컨트롤러거 필터링합니다 입력 매핑해야 객체에는 대해 평가하는 구현할 수 있습니다.
angular.module('myApp.filters, [])
.filter('switch', function () {
return function (input, map) {
return map[input] || '';
};
});
다음과 같은 수정표시 만들 수 있습니다
<div ng-class="muppets.star|switch:{'Kermit':'green', 'Miss Piggy': 'pink', 'Animal': 'loud'}">
...
</div>
내가 이렇게 아니하였으매 () 은 최근 있는 것으로 알려졌다.
<input type="password" placeholder="Enter your password"
ng-class="{true: 'form-control isActive', false: 'isNotActive'}[isShowing]">
이 값은 값을 얻을 수 있는 '이쇼링' on my 컨트롤러거 전환할 수 있는 버튼 클릭 한 번으로 및 부품을 단일 괄호 사이의 클래스뿐만 내가 만든 내 css 파일이 있다.
편집: I would like to add 는 또 무료 강좌를 통해 전달되고 있는 구글 (codeschool.com) 에 있는 것은 이 모든 물건을 그리고 몇몇군데도 앙굴라이스 후원: 아무것도 할 수 있으며, 가입 없다 그냥 계정의 납부해야 하는 것! Best of 운빨이야 너회들 모든!
삼항 연산자를 가 있던 에서 각 파서 추가되도록 1.1.5.
그래서 이렇게 가장 간단한 방법은 이제.
ng:class="($index==selectedIndex)? 'selected' : ''"
<script>
angular.module('myapp', [])
.controller('ExampleController', ['$scope', function ($scope) {
$scope.MyColors = ['It is Red', 'It is Yellow', 'It is Blue', 'It is Green', 'It is Gray'];
$scope.getClass = function (strValue) {
switch(strValue) {
case "It is Red":return "Red";break;
case "It is Yellow":return "Yellow";break;
case "It is Blue":return "Blue";break;
case "It is Green":return "Green";break;
case "It is Gray":return "Gray";break;
}
}
}]);
</script>
다음
<body ng-app="myapp" ng-controller="ExampleController">
<h2>AngularJS ng-class if example</h2>
<ul >
<li ng-repeat="icolor in MyColors" >
<p ng-class="[getClass(icolor), 'b']">{{icolor}}</p>
</li>
</ul>
<hr/>
<p>Other way using : ng-class="{'class1' : expression1, 'class2' : expression2,'class3':expression2,...}"</p>
<ul>
<li ng-repeat="icolor in MyColors">
<p ng-class="{'Red':icolor=='It is Red','Yellow':icolor=='It is Yellow','Blue':icolor=='It is Blue','Green':icolor=='It is Green','Gray':icolor=='It is Gray'}" class="b">{{icolor}}</p>
</li>
</ul>
< /body>;
전체 코드 페이지 http://www. ng 클래스 경우 예 참조할 수 있습니다
하지만 나는 이 문제를 해결하기 위해 새로운 내 각 발견했습니다.
<i class="icon-download" ng-click="showDetails = ! showDetails" ng-class="{'icon-upload': showDetails}"></i>
이를 기반으로 하는 조건부 적용하십시오 클래스용 var. , 기본값으로 ng 클래스 시작될 오프하도록 아이콘 다운로드하십시오 함께 사용하여 "만약 내가 참 / 거짓 '와', '상태 확인 쇼데일스 적용하십시오 아이콘 업로드하십시오 클래스용 . 그 apc® 멋지구리해요.
희망을 줍니다.
이 같은 작동됨 매력;)
<ul class="nav nav-pills" ng-init="selectedType = 'return'">
<li role="presentation" ng-class="{'active':selectedType === 'return'}"
ng-click="selectedType = 'return'"><a href="#return">return
</a></li>
<li role="presentation" ng-class="{'active':selectedType === 'oneway'}"
ng-click="selectedType = 'oneway'"><a href="#oneway">oneway
</a></li>
</ul>
아마도 내가 어떻게 사용할 수 있지만, 이 프레젠테이션이든 다운보테드 오블리비언 슬라이드에서는 1.1.5& # 39 의 첫 번째 행에서 삼항 연산자를 클래스뿐만 전환하십시오 여부에 따라, 중간 세그먼트나 마지막 외에는 테이블이 하나만 있으면 테이블의 행:
<span class="attribute-row" ng-class="(restaurant.Attributes.length === 1) || ($first ? 'attribute-first-row': false || $middle ? 'attribute-middle-row': false || $last ? 'attribute-last-row': false)">
</span>
이는 내 업종에문제가 여러 조건부 재판장:
<li ng-repeat='eOption in exam.examOptions' ng-class="exam.examTitle.ANSWER_COM==exam.examTitle.RIGHT_ANSWER?(eOption.eoSequence==exam.examTitle.ANSWER_COM?'right':''):eOption.eoSequence==exam.examTitle.ANSWER_COM?'wrong':eOption.eoSequence==exam.examTitle.RIGHT_ANSWER?'right':''">
<strong>{{eOption.eoSequence}}</strong> |
<span ng-bind-html="eOption.eoName | to_trusted">2020 元</span>
</li>
<div class="col-md-4 text-right">
<a ng-class="campaign_range === 'thismonth' ? 'btn btn-blue' : 'btn btn-link'" href="#" ng-click='change_range("thismonth")'>This Month</a>
<a ng-class="campaign_range === 'all' ? 'btn btn-blue' : 'btn btn-link'" href="#" ng-click='change_range("all")'>All Time</a>
</div>
$scope.campaign_range = "all";
$scope.change_range = function(range) {
if (range === "all")
{
$scope.campaign_range = "all"
}
else
{
$scope.campaign_range = "thismonth"
}
};
뭐 꼭 이래야겠어요 제안하세요 확인할 수 있습니다 돌아온 컨디션이 너회의 컨트롤러 (true false 또는 함수.
<div class="week-wrap" ng-class="{today: getTodayForHighLight(todayDate, day.date)}">{{day.date}}</div>
in your 컨트롤러거 조건 확인 및
$scope.getTodayForHighLight = function(today, date){
return (today == date);
}
그냥 추가 생각하신거야 협력했습니다 가져다줄래요 이후 오늘 훨씬 검색:.
<div class="form-group" ng-class="{true: 'has-error'}[ctrl.submitted && myForm.myField.$error.required]">
성공적으로 개발할 수 있는 ᄋ "이번 어시스트.
=)
체크 http://www.codinginsight.com/angularjs-if-else-statement/
악명 높은 앙굴라이스 다른 경우 기술서임을!!! 시작했을 때, 내가 조금 못 찾는 것이 그리 놀랍지 앙굴라이스 사용하는 경우 / else 발표했다.
저는 "프로젝트 작업을 수행할 때 / else if 를 사용하여 쉐퍼드도 가운데에는 찼음을 fs@snapa 로드을 동시에 갖고 있다는 사실을 발견했다. 이 문제를 해결하려면 ng 클로크 사용할 수 있습니다.
<div class="ng-cloak">
<p ng-show="statement">Show this line</span>
<p ng-hide="statement">Show this line instead</span>
</div>
'.ng-cloak {디스플레이: 되니그들} '
아마두 감사드립니다.
일반적인 클래스 갖는 경우 적용되는 사용자 정의 될 수 있는 클래스 등 여러 요소를 추가 / ng 숨기십시오 ng 보기 디렉티브을 만들 수 있습니다.
module.directive('ngActive', ['$animate', function($animate) {
return function(scope, element, attr) {
scope.$watch(attr.ngActive, function ngActiveWatchAction(value){
$animate[value ? 'addClass' : 'removeClass'](element, 'active');
});
};
}]);
< 매핑되며, ng 활성 = " moreinfo"; class = " 브트너 btn-default"; 더 많은 정보 " ng 를 =, =! 더 info< /a> > moreinfo";;;