如何在angularJS中使用ng-if,ng-else

时间:2015-09-24 08:13:13

标签: angularjs

我想比较id.here如果id等于5这样做,否则就这样做。 我怎样才能做到这一点?

<div class="case" data-ng-if="data.id === '5' ">
    <input type="checkbox" id="{{data.id}}" value="{{data.displayName}}"
            data-ng-model="customizationCntrl.check[data.id1]"
            data-ng-checked="{{data.status}}=='1'" onclick="return false;">{{data.displayName}}
        <br>
</div>
<div class="case" data-ng-else>
    <input type="checkbox" id="{{data.id}}" value="{{data.displayName}}"
            data-ng-model="customizationCntrl.check[data.id]"
            data-ng-checked="{{data.status}}=='1'">{{data.displayName}}<br>
</div> 

7 个答案:

答案 0 :(得分:41)

ng-switch与表达式ng-switch-when一起使用以匹配表达式值:

<div ng-switch="data.id">
  <div ng-switch-when="5">...</div>
  <div ng-switch-default>...</div>
</div>

Example is here

Angular2 example

答案 1 :(得分:22)

ng-else

没有指令

您可以使用 ng-if 在angularJs中实现 if(){..} else {..}

根据您目前的情况,

<div ng-if="data.id == 5">
<!-- If block -->
</div>
<div ng-if="data.id != 5">
<!-- Your Else Block -->
</div>

答案 2 :(得分:4)

ng中的ng if else的语法是:

<div class="case" *ngIf="data.id === '5'; else elsepart; ">
    <input type="checkbox" id="{{data.id}}" value="{{data.displayName}}" 
    data-ng-model="customizationCntrl.check[data.id1]" data-ng-checked="
    {{data.status}}=='1'" onclick="return false;">{{data.displayName}}<br>
</div>
<ng-template #elsepart>
    <div class="case">
        <input type="checkbox" id="{{data.id}}" value={{data.displayName}}"  
        data-ng-model="customizationCntrl.check[data.id]" data-ng-checked="
        {{data.status}}=='1'">{{data.displayName}}<br>
    </div> 
</ng-template>

答案 3 :(得分:2)

我正在添加一些关于 ng指令的重要问题: -

  1. 指令将响应执行的相同位置。
  2. ng-else 概念不存在,您只能使用 if 或其他类似切换语句。
  3. 查看以下示例: -

      

    &lt; div ng-if =“data.type =='FirstValue'”&gt;

    //different template with hoot data
    
         

    &LT; / DIV&GT;

         

    &lt; div ng-if =“data.type =='SecondValue'”&gt;

      //different template with story data
    
         

    &LT; / DIV&GT;

         

    &lt; div ng-if =“data.type =='ThirdValue'”&gt;

     //different template with article data
    
         

    &LT; / DIV&GT;

    根据数据类型,它将呈现任何一个div。

答案 4 :(得分:1)

您也可以尝试三元运算符。 像这样的东西

{{data.id === 5 ? "it's true" : "it's false"}}

稍微改变你的html代码,试试这个希望,这样你就可以了。

答案 5 :(得分:0)

<span ng-if="verifyName.indicator == 1"><i class="fa fa-check"></i></span>
<span ng-if="verifyName.indicator == 0"><i class="fa fa-times"></i></span>

尝试此代码。 这里的verifyName.indicator值来自控制器。 这对我有用。

答案 6 :(得分:-2)

你可以写成:

<div class="case" ng-if="mydata.id === '5' ">
    <p> this will execute </p>
</div>
<div class="case" ng-if="mydata.id !== '5' ">
    <p> this will execute </p>
</div>