පංතියක් කොන්දේසි සහිතව යෙදිය හැකි හොඳම ක්‍රමය කුමක්ද?


1184

එක් එක් මූලද්‍රව්‍යය සඳහා a ulසමඟ විදැහුම් කරන ලද අරාව liසහ පාලකයේ ඇති දේපලක් ඇති බව කියමු selectedIndex. AngularJS liහි දර්ශකය සමඟ පන්තියක් එක් කිරීමට හොඳම ක්‍රමය selectedIndexකුමක්ද?

මම දැනට පිටපත් සිටිමි (අතින්) liකේතය හා එක් කිරීමට පන්ති එකතු liටැග් හා භාවිතා ng-showසහ ng-hideඑකම එක පෙන්වන්න liදර්ශකය අනුව.


2
මෙම ප්‍රශ්නයට පිළිතුරු පෙන්වන්නේ temp {varname} than ට වඩා සැකසීමට වැඩි යමක් ඇති බවයි. විවිධ ආකාර කිහිපයකින් ත්‍රිමාණ ක්‍රියාකරු වැනි සැකිලි සැකසීමට ඇති තවත් දේ පිළිබඳ ලියකියවිලි මට සොයාගත හැක්කේ කොතැනින්ද? docs.angularjs.org/guide/templates {{varname.fieldname} හැරුණු විට කොන්දේසි ආදිය අනුව සැකසීමේ දීමනා මොනවාදැයි පැහැදිලි කරන බවක් නොපෙනේ.
ක්‍රිස්ටෝස් හේවර්ඩ්

මෙය මට බෙහෙවින් ප්‍රයෝජනවත් වන අතර එය ඔබට ප්‍රයෝජනවත් වනු ඇතැයි මම විශ්වාස කරමි tech-blog.maddyzone.com/javascript/…
රිතුරාජ් රතන්

Answers:


1384

මා වැනි CSS පන්ති නම් පාලකයට ඇතුළත් කිරීමට ඔබට අවශ්‍ය නැතිනම්, පෙර-දින 1 සිට මම භාවිතා කරන පැරණි උපක්‍රමයක් මෙන්න. තෝරාගත් පන්තියේ නමකට කෙලින්ම ඇගයීමට ලක් කරන ප්‍රකාශනයක් අපට ලිවිය හැකිය , අභිරුචි නියෝග අවශ්‍ය නොවේ:

ng:class="{true:'selected', false:''}[$index==selectedIndex]"

කරුණාකර බඩවැල් සමඟ පැරණි වාක්‍ය ඛණ්ඩය සටහන් කරන්න.

කොන්දේසි සහිතව පන්ති යෙදීම සඳහා වඩා හොඳ නව ක්‍රමයක් ද ඇත:

ng-class="{selected: $index==selectedIndex}"

කෝණික දැන් වස්තුවක් ආපසු ලබා දෙන ප්‍රකාශන සඳහා සහය දක්වයි. මෙම වස්තුවේ එක් එක් දේපල (නම) දැන් පන්ති නාමයක් ලෙස සලකනු ලබන අතර එහි වටිනාකම අනුව එය අදාළ වේ.

කෙසේ වෙතත් මෙම ක්‍රම ක්‍රියාකාරීව සමාන නොවේ. මෙන්න උදාහරණයක්:

ng-class="{admin:'enabled', moderator:'disabled', '':'hidden'}[user.role]"

එබැවින් අපට දැනට පවතින CSS පංති නැවත භාවිතා කළ හැක්කේ මූලික වශයෙන් ආදර්ශ දේපලක් පන්ති නාමයකට සිතියම් ගත කිරීමෙන් සහ ඒ සමඟම CSS පන්ති පාලක කේතයෙන් බැහැරව තබා ගැනීමෙනි.


33
OP, එය මා මෙතෙක් දැක ඇති ත්‍රිමාණ ක්‍රියාකරු ප්‍රකාශ කිරීමට වඩා නරක ක්‍රමය විය හැකිය. ඔබ සලකා බැලුවාද ($index==selectedIndex) ? 'selected' : ''?
මල්වෝලියෝ

17
Al මැල්වෝලියෝ AFAIR, තෘතීය ක්‍රියාකරු v0.9.x හි කෝණික ප්‍රකාශන තුළ ක්‍රියා නොකරයි. මෙය වැඩි හෝ අඩු ස්විචයකි.
ඕර්කන්

36
ng-class (1/19/2012 වන විට) දැන් 1) අවකාශය වෙන් කරන ලද පන්ති නාම මාලාවක් හෝ 2) සහ පන්ති නාම පෙළක් හෝ 3) පන්තියේ සිතියමක් / වස්තුවක් ඇගයීමට ලක් කළ යුතු ප්‍රකාශනයකට සහය දක්වයි. බූලියන් අගයන්ට නම්. එබැවින්, 3 භාවිතා කරමින්): ng-class = "{
select

2
ස්තූතියි ark මාක්, බීටීඩබ්ලිව් දැන් මම පරීක්ෂා කර බැලූ විට මෙම ක්‍රමය v1 හි ක්‍රියාත්මක වන බව පැවසිය හැකිය. සමහර අවස්ථාවල එය තවමත් ප්රයෝජනවත් වේ. වස්තු දේපල නම් (යතුරු) අනිවාර්යයෙන්ම සත්‍ය හෝ අසත්‍ය නොවන බව සලකන්න, එය ඔබට පන්ති නාමයකට සිතියම් ගත කිරීමට අවශ්‍ය ඕනෑම දෙයක් විය හැකිය.
orcun

6
මට එකතු කිරීමට අවශ්‍යයි, මම සින්ටැක්ස් වැනි භාවිතා කරන {classname: '$index === selectedIndex'} නිසාත් එය ක්‍රියාත්මක නොවන නිසාත් මට ගැටලුවක් ඇතිවිය . මම සෑම දෙයක්ම එකට තල්ලු කර === වෙනුවට == භාවිතා කළ විට එය ක්‍රියාත්මක විය. {classname: '$index==selectedIndex'}
ලූකස්

437

ng-class විසින් ප්‍රකාශනයකට සහාය දැක්විය යුතුය

  1. අවකාශයෙන් වෙන් කරන ලද පන්ති නම් මාලාවක්, හෝ
  2. පන්ති නම් පෙළක්, හෝ
  3. බූලියන් අගයන්ට පන්ති නම් සිතියමක් / වස්තුවක්.

එබැවින්, 3 වන ආකෘතිය භාවිතා කරමින්) අපට සරලව ලිවිය හැකිය

ng-class="{'selected': $index==selectedIndex}"

මෙයද බලන්න මම කොන්දේසිය AngularJS දී CSS විලාසයන් අයදුම් කරන්නේ කෙසේද? පුළුල් පිළිතුරක් සඳහා.


යාවත්කාලීන කිරීම : කෝණික 1.1.5 මඟින් ත්‍රිමාණ ක්‍රියාකරු සඳහා සහය එක් කර ඇත , එබැවින් එම ඉදිකිරීම ඔබට වඩාත් හුරුපුරුදු නම්:

ng-class="($index==selectedIndex) ? 'selected' : ''"

2
තෘතීය ක්‍රියාකරුවන් සඳහා +1 (මට දැන් එකක් අවශ්‍යයි) නමුත් 1.1. * යනු 'අස්ථායී නිකුතුවක්' වන අතර එය ටයිප් කරන වේලාව අනුව ඒපීඅයි දැනුම්දීමකින් තොරව වෙනස් වේ. 1.0. * ස්ථායී වේ, එබැවින් ලබන සතියේ මාස 6 ක් සඳහා ව්‍යාපෘතියක් දියත් කිරීමට මට වඩාත් පහසු වනු ඇත.
ඩේව් එවරිට්

1
ng-class="{'selected': $index==selectedIndex}"මා වෙනුවෙන් වැඩ කරයි
knuhol

160

මගේ ප්‍රියතම ක්‍රමය වන්නේ ත්‍රික ප්‍රකාශනය භාවිතා කිරීමයි.

ng-class="condition ? 'trueClass' : 'falseClass'"

සටහන: ඔබ කෝණික පැරණි අනුවාදයක් භාවිතා කරන්නේ නම් ඒ වෙනුවට ඔබ මෙය භාවිතා කළ යුතුය,

ng-class="condition && 'trueClass' || 'falseClass'"

2
මෙම ප්‍රකාශනය ලිවීමට මෙය මට උපකාරී විය : ng-class="property.name=='timestamp' ? 'property-timestamp' : 'property-'+{{$index}}". වෙනත් ක්‍රමයක් සොයා ගැනීමට නොහැකි විය.
dduft

මගේ විෂය පථය සහිත බූලියන් මොඩල් ෆ්ලෑග් යාවත්කාලීන නොවන්නේ මන්දැයි මම සැබවින්ම සොයාගෙන නැත - ng-class = "closed 'වසා ඇත': මොඩල් ෆ්ලෑග්, 'විවෘත' :! - කාටහරි උදව් කරන්න පුළුවන් නම් මම ගොඩක් ස්තුතිවන්ත වෙනවා - ඔබට ස්තූතියි.
ගොඩ බැස්සා

මෙය 1.5 අනුවාදයක් ලෙස හඳුන්වා දෙන ලදී. github.com/angular/angular.js/commit/…
කෝල්

55

මෙම පිළිතුරු සමහරක් යල්පැන ඇති බැවින් මම මේ සඳහා එකතු කරමි. මෙන්න මම එය කරන ආකාරය:

<class="ng-class:isSelected">

කොහේද 'isSelected' යනු විෂය පථයේ කෝණික පාලකය තුළ අර්ථ දක්වා ඇති ජාවාස්ක්‍රිප්ට් විචල්‍යයකි.


ඔබේ ප්‍රශ්නය වඩාත් නිශ්චිතව ආමන්ත්‍රණය කිරීම සඳහා, ඔබ එය සමඟ ලැයිස්තුවක් ජනනය කරන්නේ කෙසේද යන්න මෙන්න:

HTML

<div ng-controller="ListCtrl">  
    <li class="ng-class:item.isSelected" ng-repeat="item in list">   
       {{item.name}}
    </li>  
</div>


ජේ

function ListCtrl($scope) {    
    $scope.list = [  
        {"name": "Item 1", "isSelected": "active"},  
        {"name": "Item 2", "isSelected": ""}
    ]
}


බලන්න: http://jsfiddle.net/tTfWM/

බලන්න: http://docs.angularjs.org/api/ng.directive:ngClass


පන්තිය = "ng-class: item.isSelected" සහ ng-class = "item.isSelected" අතර
වෙනස කුමක්ද

ng-class:classNameඑදිරිව භාවිතා කිරීම ගැන කුතුහලයක් class="{{className}}"තිබේද?
රෝයි

48

මෙන්න වඩාත් සරල විසඳුමක්:

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>


74
ඔබේ පාලකය CSS දේවල් වලින් keep ත් කර තැබීමට මම තරයේ නිර්දේශ කරමි. එය ඔබට පහළට යාමට අවශ්‍ය නැති මාවතකි.
ලෙවියාතන්

1
පන්ති නම් අච්චුවට අයත් වේ
කේසි

5
යම් අවස්ථාවක දී, jsfiddle හට ඔවුන්ගේ බිල්පත් ගෙවීම අතපසු විය හැකිය, නැතහොත් වෙනත් වසමකට යාමට තෝරා ගත හැකිය, නැතහොත් වගකිවයුතු පුද්ගලයින් බස් රථයකින් මිය යනු ඇත (බස් සාධකයද බලන්න). එබැවින් ඔබේ පිළිතුර තුළ එම ප්‍රහේලිකාව කරන්නේ කුමක්දැයි පැහැදිලි කිරීමට මම ඔබෙන් ඉල්ලා සිටිය හැකිද? තොග පිටාර ගැලීම සම්බන්ධයෙන්ද මෙය කැනොනිකල් වේ.
සෙබස්තියන් මැක්

27

මම මෑතකදී එවැනිම ගැටලුවකට මුහුණ දුන් අතර කොන්දේසි සහිත පෙරණයක් නිර්මාණය කිරීමට තීරණය කළෙමි:

  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];
      };
    });

එය මූලද්‍රව්‍ය 2 කින් යුත් අරාවක් හෝ නූලක් වන තනි තර්කයක් ගනී, එය දෙවන මූලද්‍රව්‍යය ලෙස හිස් නූලක් එකතු කරන අරාව බවට හැරේ:

<li ng-repeat="item in products | filter:search | orderBy:orderProp |
  page:pageNum:pageLength" ng-class="'opened'|if:isOpen(item)">
  ...
</li>

1
1 සිට 0 දක්වා වූ බූලියන් අගයක් අනුව 'ඔව්' හෝ 'නැත' යන පංති නැවත ලබා දීම සඳහා මම දැන් නිර්මාණය කර ඇත්තෙමි:filter('yesNo', function() { return function(input) { // info('yesNo('+ input +')'); switch(input){ case '1': return ' yes '; break; default: return ' no '; break; } } });
svassr

1
ng-class හට බූලියන් අගයන් සඳහා පන්ති නාමවල සිතියමක් / වස්තුවක් හැසිරවිය හැක, එබැවින් ඔබට පහත සඳහන් දේ ලිවිය හැකිය: ng-class = "{ඔව්: some_boolean_expression, නැත: some_other_boolean_expression}" උදා, ng-class = "{ඔව්: ආදාන , නැත :! ආදාන} "
මාර්ක් රාජ්කොක්

21

ඔබට ද්විමය ඇගයීමෙන් ඔබ්බට ගොස් ඔබේ CSS ඔබගේ පාලකයෙන් keep ත් කර තැබීමට අවශ්‍ය නම් සිතියම් වස්තුවකට එරෙහිව ආදානය තක්සේරු කරන සරල පෙරණයක් ක්‍රියාත්මක කළ හැකිය:

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>

හායි oe ජෝ, කිසියම් අදහසක් ශුන්‍ය අගයන් හසුරුවන්නේ කෙසේද? මම
ආදානයේ ශුන්‍යව

1
11 user1191559 - ඔබට සිතියමට 'පෙරනිමි' අයිතමයක් කළ හැකි අතර, 'ආදානය' අහෝසි නම් එම අගය ආපසු එවන්න.
ජෝ ස්ටීල්

17

මම මෑතකදී කළ දෙය මෙයයි:

<input type="password"  placeholder="Enter your password"
ng-class="{true: 'form-control isActive', false: 'isNotActive'}[isShowing]">

මෙම isShowingඅගය බොත්තමක් ටොගල ලක්වෙයි හා තනි වරහන අතර කොටස් මගේ CSS ගොනු නිර්මාණය පන්ති බව මගේ පාලකය මත පිහිටා ඇත බව අගය වේ.

සංස්කරණය කරන්න: කෝඩ්ස්කූල්.කොම් හි නොමිලේ පා course මාලාවක් ඇති බව මම එකතු කිරීමට කැමැත්තෙමි. එය ගූගල් විසින් ඇන්ගුලර් ජේඑස් හි අනුග්‍රහය දක්වන අතර මේ සියල්ල ඉක්මවා ගොස් ඇත. කිසිවක් සඳහා ගෙවීමට අවශ්‍ය නැත, ගිණුමක් සඳහා ලියාපදිංචි වී ඉදිරියට යන්න! ඔබ සැමට සුබ පැතුම්!


ඔබට මෙහි ෆෙඩල් හෝ ඊට වැඩි කේතයක් ලබා දිය හැකිද? ය isShowingපසුව පාලකය දී මාලාවක්?
කයිල් පෙන්ල්

මම හිතන්නේ බූලියන්
මිර්කෝ

15

මිශ්ර ක්රියාකරු පමණක් වී ඇත තුල කෝණික ව්යාකරණ විග්රහ එකතු 1.1.5 .

එබැවින් මෙය කිරීමට ඇති සරලම ක්‍රමය දැන්:

ng:class="($index==selectedIndex)? 'selected' : ''"

ද: class="otherClass ng-class:($index==selectedIndex)? 'selected' : '';".
පීටර්

11

කොන්දේසි සහිතව ආපසු පන්තිය කළමනාකරණය කිරීම සඳහා අපට ශ්‍රිතයක් කළ හැකිය

රූප විස්තරය මෙහි ඇතුළත් කරන්න

<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>

උදාහරණයක් ලෙස ඔබට ng-class හි සම්පූර්ණ කේත පිටුවට යොමු විය හැකිය


9

මම කෝණිකයට අලුත් නමුත් මගේ ගැටලුව විසඳීම සඳහා මෙය සොයාගෙන ඇත:

<i class="icon-download" ng-click="showDetails = ! showDetails" ng-class="{'icon-upload': showDetails}"></i>

මෙය කොන්දේසි මත පදනම්ව var මත පදනම් වූ පන්තියක් අදාළ වේ. එය ආරම්භ වන්නේ පෙරනිමියෙන් අයිකන බාගත කිරීමෙනි, ng-class භාවිතා කරමින්, මම showDetailsif හි තත්වය පරීක්ෂා කර true/falseපන්තියේ නිරූපක-උඩුගත කිරීම යොදමි . එහි ක්‍රියාකාරිත්වය විශිෂ්ටයි.

එය උපකාරී වේ යැයි සිතමි.


9

මෙය චාම් එකක් මෙන් ක්‍රියා කරයි;)

<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>

5

මෙය බොහෝ විට අමතක වීමට පහත් වනු ඇත, නමුත් මෙන්න මම වගුවක පේළියක් පළමු, මැද හෝ අන්තිමද යන්න මත පදනම්ව පන්ති මාරු කිරීම සඳහා 1.1.5 හි තෘතීය ක්‍රියාකරුවන් භාවිතා කළ ආකාරය - වගුවේ එක් පේළියක් පමණක් තිබේ නම් හැර:

<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>

5

මෙය මගේ කාර්යයේ බහු කොන්දේසි සහිත විනිශ්චයකරුවෙකි:

<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> &nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;
  <span ng-bind-html="eOption.eoName | to_trusted">2020 元</span>
</li>

4

Ng-class භාවිතා කළ නොහැකි විට හොඳින් ක්‍රියාත්මක වන තවත් විකල්පයක් මෙන්න (උදාහරණයක් ලෙස SVG මෝස්තර කිරීමේදී):

ng-attr-class="{{someBoolean && 'class-when-true' || 'class-when-false' }}"

(Ng-attr- භාවිතා කිරීම සඳහා ඔබ නවතම අස්ථායී කෝණික විය යුතු යැයි මම සිතමි, මම දැනට 1.1.4 හි සිටිමි)


4

සත්‍ය හෝ අසත්‍ය ලෙස නැවත පැමිණෙන ශ්‍රිතයක් සමඟ ඔබේ පාලකයේ තත්වය පරීක්ෂා කර බැලීමට මම ඔබට යෝජනා කරමි .

<div class="week-wrap" ng-class="{today: getTodayForHighLight(todayDate, day.date)}">{{day.date}}</div>

ඔබේ පාලකයේ තත්වය පරීක්ෂා කරන්න

$scope.getTodayForHighLight = function(today, date){
return (today == date);
}

4

අර්ධ

  <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"
        }
  };

3

ඔබ කෝණික පෙර v1.1.5 භාවිතා කරන්නේ නම් (එනම් ත්‍රික ක්‍රියාකරු නැත) සහ කොන්දේසි දෙකෙහිම අගයක් සැකසීමට ඔබට තවමත් සමාන ක්‍රමයක් අවශ්‍ය නම් ඔබට මේ වගේ දෙයක් කළ හැකිය:

ng-class="{'class1':item.isReadOnly == false, 'class2':item.isReadOnly == true}"

3

ඔබට බොහෝ අංග සඳහා පොදු පන්තියක් තිබේ නම්, ඔබට අභිරුචි විධානයක් නිර්මාණය කළ හැකි අතර එමඟින් එම පන්තිය ng-show / ng-hide වැනි එකතු කරනු ඇත.

මෙම විධානය මඟින් 'සක්‍රීය' පන්තිය බොත්තම ක්ලික් කළහොත් එය එකතු කරනු ඇත

module.directive('ngActive',  ['$animate', function($animate) {
  return function(scope, element, attr) {
    scope.$watch(attr.ngActive, function ngActiveWatchAction(value){
      $animate[value ? 'addClass' : 'removeClass'](element, 'active');
    });
  };
}]);

වැඩි විස්තර


3

බොහෝ සෙවීම් වලින් පසුව, අද මට වැඩ කළ දෙයක් එකතු කිරීම ...

<div class="form-group" ng-class="{true: 'has-error'}[ctrl.submitted && myForm.myField.$error.required]">

මෙය ඔබේ සාර්ථක සංවර්ධනයට උපකාරී වේ යැයි සිතමු.

=)

ලේඛනගත නොකළ ප්‍රකාශන වාක්‍ය ඛණ්ඩය: විශිෂ්ට වෙබ් අඩවි සබැඳිය ... =)


පිළිගත් පිළිතුර බලන්න. එය එකම දේ කරන අතර තවත් උදාහරණ ලබා දෙයි.
respectTheCode

3

මෙය පරීක්ෂා කරන්න .

කුප්‍රකට AngularJS if|elseප්‍රකාශය !!!
මම Angularjs භාවිතා කිරීමට පටන් ගත් විට, මට / / වෙනත් ප්‍රකාශයක් සොයා ගැනීමට නොහැකි වීම ගැන මම ටිකක් පුදුමයට පත් වීමි.

ඒ නිසා මම ව්‍යාපෘතියක වැඩ කරමින් සිටි අතර if / else ප්‍රකාශය භාවිතා කරන විට, පැටවීමේදී තත්වය පෙන්නුම් කරන බව මම දුටුවෙමි. මෙය නිවැරදි කිරීම සඳහා ඔබට ng-cloak භාවිතා කළ හැකිය.

<div class="ng-cloak">
 <p ng-show="statement">Show this line</span>
 <p ng-hide="statement">Show this line instead</span>
</div>

.ng-cloak { display: none }

ස්තූතියි අමදූ


0

ඔබට මෙම npm පැකේජය භාවිතා කළ හැකිය . එය සෑම දෙයක්ම හසුරුවන අතර විචල්‍යයක් හෝ ශ්‍රිතයක් මත පදනම්ව ස්ථිතික හා කොන්දේසි සහිත පන්ති සඳහා විකල්ප ඇත.

// Support for string arguments
getClassNames('class1', 'class2');

// support for Object
getClassNames({class1: true, class2 : false});

// support for all type of data
getClassNames('class1', 'class2', ['class3', 'class4'], { 
    class5 : function() { return false; },
    class6 : function() { return true; }
});

<div className={getClassNames({class1: true, class2 : false})} />
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.