ng-if后的值

时间:2017-05-17 18:39:31

标签: angularjs

我正在尝试使用ng-repeat进行表格。这是我的代码

          <table class="tab2" >
              <thead> 
                <tr>
                  <th>Currency: USD '000s</th>
                  <th ng-repeat="s in periodosCF">{{s.periodo | date:"yyyy"}}</th>
                </tr>
              </thead>

            <tbody>
              <tr ng-repeat="n in nombreFilasCF" class="{{n.fondo}}">
                <td  style="width: 32%;"><div  class="bordeTab">
                  <div  class="{{n.color}}First" >
                     {{n.nombre}} 
                   </div> <br>
                  </div>
                </td>

                <td ng-repeat="dato in datosCF" ng-if="n.nombre == dato.nombre">
                  <div class="{{n.color}}" >
                    {{dato.valor}}
                  </div><br> 
                </td>
              </tr>

            </tbody>
          </table>

一旦进入ng-repeat =“dato in datosCF”,我就会打印一个值,但如果if返回false,我需要打印“ - ”。

1 个答案:

答案 0 :(得分:0)

听起来您想要包含所有行,但行的内容根据某些条件而有所不同。如果是这种情况,您可以尝试将条件逻辑移动到<td>元素的正文中,并使两个div具有矛盾的ng-if表达式:

      <table class="tab2" >
          <thead> 
            <tr>
              <th>Currency: USD '000s</th>
              <th ng-repeat="s in periodosCF">{{s.periodo | date:"yyyy"}}</th>
            </tr>
          </thead>

        <tbody>
          <tr ng-repeat="n in nombreFilasCF" ng-class="n.fondo">
            <td  style="width: 32%;"><div  class="bordeTab">
              <div  ng-class="n.color + 'First'">
                 {{n.nombre}} 
               </div> <br>
              </div>
            </td>

            <td ng-repeat="dato in datosCF">
              <div ng-if="n.nombre === dato.nombre" ng-class="n.color">
                {{dato.valor}}
              </div>
              <div ng-if="n.nombre !== dato.nombre">
                -
              </div><br> 
            </td>
          </tr>

        </tbody>
      </table>

我还将插值的class属性更改为ng-class