如何在html - angularjs上使用JSON数据应用三元运算符

时间:2017-03-08 18:54:28

标签: angularjs

我有一个类似的JSON数据:

$scope.user = {
     is_session_id: true,
     session_id: 'asdasdadssa',
     email     : 'abc@gmail.com'
}

现在,我想在' is_session_by'之后分配session_id。是{true},emailis_session_by为false \ null时。该值将分配给div的id

<div id="{{ user.is_session_id}}  ?  {{  user.session_id }} : {{ user.email  }} " ></div>

我犯了一些愚蠢的错误。请帮忙

通过&#34;检查元素&#34;

进行检查时,它会像这样出现
<li ng-click="selectUser(user,$index)" 
  class="left clearfix ng-scope selected" 
  ng-class="{selected: selected_user.email === user.email}" 
  ng-repeat="user in user_list" 
  id="true  ?  asdasdadssa : abc@gmail.com">

  SOMETHING

 </li>

5 个答案:

答案 0 :(得分:2)

您可以使用ng-attr-id来解析您的表达式:

<div ng-attr-id="{{ user.is_session_id  ?   user.session_id  :  user.email  }} " ></div>

答案 1 :(得分:2)

这是您需要的代码。

<div ng-attr-id="{{ user.is_session_by ? user.session_id : user.email  }}" ></div>

答案 2 :(得分:2)

使用ng-attr-id t为id分配条件

<div  ng-attr-id="{{ user.is_session_id  ?   user.session_id :  user.email  }} " ></div>

答案 3 :(得分:1)

这很简单,建议您解决问题

<div ng-attr-id="{{ user.session_id || user.email  }} " ></div>

无需额外的变量user.isSession_id

答案 4 :(得分:-1)

为什么你需要这种方式,如果有简单的那样。

在控制器中:

 var user = {
         is_session_by: true,
         session_id: 'asdasdadssa',
         email     : 'abc@gmail.com'
    }

$scope.result = user.is_session_by  ?   user.session_id  :  user.email 

在html中:

<div id="{{result}}" >{{result}}</div>