【问题标题】:Angular's ng-if not working on viewAngular ngif 在视图上不起作用
【发布时间】:2014-08-27 08:34:56
【问题描述】:

几天前我尝试使用ng-if,即使我的代码工作但现在当我尝试它时,ng-if 不工作

这是我在ng-repeat 内部的表现。

<tr ng-repeat="program in getProgram">
    <td>{{$index+1}}</td>
    <td>{{program.name}}</td>
    <td>{{program.code}}</td>
    <td>{{program.code2}}</td>
    <td>{{program.ed}}</td>
    <td ng-if="program.status == 'Published' ">{{program.status}}</td>       
    <td ng-if="program.status == 'Draft' ">{{program.status}}</td> 
</tr>

我想根据状态显示草稿或已发布。

即使我尝试过

1=1 1=2

两个值都被打印出来了。

【问题讨论】:

  • 您确定状态包含“已发布”而不是其他内容吗?
  • 然后会发生什么...?
  • 是的也更新我的问题。
  • 向我们展示 getProgram 包含的内容
  • 工作演示:jsfiddle.net/9Ymvt/2127 确认您没有其他导致 ng-If 无法工作的问题

标签: angularjs angularjs-directive angular-ng-if


【解决方案1】:

它应该工作。这是一个plunkr:

http://plnkr.co/edit/CFyvY7JtQQiJIowUCc67?p=preview

这个数据:

![$scope.getProgram = \[{
     name: 'Name1',
     code: 'CodeN1',
     code2: 'Code2N1',
     ed: 'ED',
     status: 'Published'
  }, {
     name: 'Name2',
     code: 'CodeN2',
     code2: 'Code2N2',
     ed: 'ED2',
     status: 'SomeOtherStatus'
  }, {
     name: 'Name3',
     code: 'CodeN3',
     code2: 'Code2N3',
     ed: 'ED3',
     status: 'Draft'
  }, {
     name: 'Name4',
     code: 'CodeN4',
     code2: 'Code2N4',
     ed: 'ED4',
     status: 'NOSHOW'
  }\]][1]

产生这个 结果:

【讨论】:

    【解决方案2】:

    我已经尝试使用ng-show 代替ng-if,它对我有用。

     <td ng-show="program.status == 'Published' "><span class="label label-success">{{program.status}}</span></td>
     <td ng-show="program.status == 'Draft'"><span class="label label-warning">{{program.status}}</span></td>  
    

    【讨论】:

      猜你喜欢
      • 2021-09-06
      • 1970-01-01
      • 2019-11-25
      • 2022-01-18
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多