Javascript 显示一个或另一个值,具体取决于它是否为';现在

Javascript 显示一个或另一个值,具体取决于它是否为';现在,javascript,html,angularjs,Javascript,Html,Angularjs,我有以下数组: vm.persons = [{id:1, name:'Manuel1', age:30}, {id:2, name:'Manuel2', errorCode:'Error', age:18}] 我想通过这种方式展示: ------------------ |Name | Age | ------------------ |Manuel2 | Error | ------------------ |Manuel1 | 30 | ------------------

我有以下数组:

vm.persons = [{id:1, name:'Manuel1', age:30}, {id:2, name:'Manuel2', errorCode:'Error', age:18}]
我想通过这种方式展示:

------------------
|Name    | Age   |
------------------
|Manuel2 | Error |
------------------
|Manuel1 | 30    |
------------------
因此,如果存在
errorCode
,则不应显示年龄

这就是我现在拥有的:

    <tr ng-repeat="person in persons" ng-class="...">
      <td>{{::person.name}}</td>
      <td>{{::person.age}}</td>
    </tr>

{{::person.name}
{{::person.age}

我怎么能做那张支票呢。首先,我想让大家看看有错误的人,然后是其他人。我认为您可以使用array.sort来实现这一点,对吗?

我使用如下指令来实现这一点:


{{::person.name}
{{::person.age}
ng如果计算表达式,如果为true,则显示元素。。。您可以执行类似于
ng if=“person.errorCode!=“Error”
ng if=“!person.errorCode”
的操作,您必须检查符合您需要的真假表达式


{{::person.name}
{{person.age=='Error'?'-':::person.age}


如果不想显示年龄,则需要显示一些文本,否则如果未找到

则设计将运行。您应该能够使用?:三元运算符,该运算符充当简单的if/then like表达式。这将评估第一个术语(在?)之前。如果计算结果为true,则?他回来了。如果计算结果为false,则返回:之后的表达式


所以
{{::(person.errorCode?person.errorCode:person.age)}
应该可以工作,尽管我还没有测试过它。

如果要打印或不打印col和colspan,请使用ng以防出现空白

<tr ng-repeat="person in persons" ng-class="...">
    <td colspan="{{!person.errorCode ? '1' : '2'}}">{{::person.name}}</td>
    <td ng-if="!person.errorCode" >{{::person.age}}</td>
</tr>

{{::person.name}
{{::person.age}
试试这个-

 <tr ng-repeat="person in persons" ng-class="...">
      <td>{{person.name}}</td>
      <td ng-if="!person.errorCode">{{person.age}}</td>
      <td ng-if="person.errorCode">{{person.errorCode}}</td>
 </tr>

{{person.name}
{{person.age}
{{person.errorCode}

使用此代码使其正常工作

  <tr ng-repeat="person in persons" ng-class="...">
  <td>{{person.name}}</td>
  <td>{{person.errorcode==""?person.age:person.errorcode}}</td>
  </tr>

{{person.name}
{{person.errorcode==“”?person.age:person.errorcode}

有关订购,请查看

如果元素已定义,则可以定义一个返回
1
的自定义函数,如果未定义,则返回
0

条件显示已在多个答案中解释。


<tr ng-repeat="person in persons | orderBy:'errorCode'" ng-class="...">
  <td>{{::person.name}}</td>
  <td>{{::(!person.errorCode) ? person.age : 'Error'}}</td>
</tr>
{{::person.name} {{::(!person.errorCode)?person.age:'Error'}
使用ng show ng hide阅读此内容见谢谢!回答得很好。
<tr ng-repeat="person in persons | orderBy:'errorCode'" ng-class="...">
  <td>{{::person.name}}</td>
  <td>{{::(!person.errorCode) ? person.age : 'Error'}}</td>
</tr>