Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在html-angularjs上使用JSON数据应用三元运算符_Angularjs - Fatal编程技术网

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

如何在html-angularjs上使用JSON数据应用三元运算符,angularjs,Angularjs,我有一个JSON数据,类似于: $scope.user = { is_session_id: true, session_id: 'asdasdadssa', email : 'abc@gmail.com' } 现在,我想分配session\u idwhen'is\u session\u by'为true,而emailwhenis\u session\u by为false\null。该值将分配给div的id <div id="{{ user.is_s

我有一个JSON数据,类似于:

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

现在,我想分配
session\u id
when'is\u session\u by'为true,而
email
when
is\u session\u by
为false\null。该值将分配给div的
id

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

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

当通过“检查元素”检查时,其显示如下:

  • 某物

  • 您可以使用解析表达式的
    ng attr id

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

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

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

    这是您需要的代码

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

    这是您需要的代码

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

    使用
    ng attr id
    t根据条件分配id

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

    使用
    ng attr id
    t根据条件分配id

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

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

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

    不需要额外的变量用户。isSession_id

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

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

    不需要额外的变量用户。isSession_id

    如果有简单的用户,为什么需要这种方式

    在控制器中:

     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>
    
    {{result}
    
    如果有简单的方法,为什么需要这种方法

    在控制器中:

     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>
    
    {{result}
    
    is\u session\u by
    is\u session\u id
    不一样,不要使用三个胡须
    {}
    。将整个表达式括在一组双花括号中
    {{}
    。请参阅。
    is_session_by
    is_session_id
    不一样。不要使用三个胡须
    {}
    。将整个表达式括在一组双花括号中
    {{}
    。请参阅。我认为,当ng attr id本身可以解析表达式时,没有必要在$scope中添加额外属性。这不是关于添加额外属性。更多的是关于代码可读性、可维护性和可测试性。@AkashKC无论如何,您可以通过{{}来评估它,这将需要编译时间和相同的内存。请发表评论。@RIYAZ:我还没有对你的帖子投过反对票。作为评论,我更喜欢html本身的三元检查,而不是在$scope中添加新属性。因为$scope中定义的每个字段都有摘要循环,这使得对$scope中的那些属性进行脏检查成为可能。我不想对可以在html指令中轻松计算为表达式的属性进行任何脏检查。我认为,当ng attr id本身可以解析表达式时,不需要在$scope中添加额外属性。这不是关于添加额外属性。更多的是关于代码可读性、可维护性和可测试性。@AkashKC,你通过{{}对它进行评估,这需要编译时间和相同的内存。请发表评论。@RIYAZ:我还没有对你的帖子进行投票。作为评论,我更喜欢html本身的三元检查,而不是在$scope中添加新属性。因为$scope中定义的每个字段都有摘要循环,这使得对$scope中的那些属性进行脏检查成为可能。我不想对属性进行任何肮脏的检查,这些属性可以很容易地作为html指令中的表达式进行计算。