Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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
Javascript 如何使用angular在html中应用if-else_Javascript_Angularjs - Fatal编程技术网

Javascript 如何使用angular在html中应用if-else

Javascript 如何使用angular在html中应用if-else,javascript,angularjs,Javascript,Angularjs,我的代码 <span data-ng-repeat="s in d.sInfo track by $index" title="{{ s.sFirstName }} {{ s.sLastname }}"> <strong>{{ s.sFirstName }} {{ s.sLastname }}</strong> ({{ s.permission }})<br> </span> {{s.sFirstName}{{s.sLastna

我的代码

<span data-ng-repeat="s in d.sInfo track by $index" title="{{ s.sFirstName }} {{ s.sLastname }}">

<strong>{{ s.sFirstName }} {{ s.sLastname }}</strong> ({{ s.permission }})<br>

</span>

{{s.sFirstName}{{s.sLastname}}({s.permission}})
我想要的是,如果登录用户和共享用户相同,那么我将显示“您”

我正在尝试这样的事情

<strong>{{ s.sFirstName }} {{ s.sLastname }} || s.name == s.FirstName s.Lastname |"YOU"</strong> ({{ s.permission }})
{{s.sFirstName}{{s.sLastname}}| | s.name==s.FirstName s.Lastname |“你”({s.permission})

我可以在控制器中进行循环。但是在视图本身中是否有任何方法可以实现这一点

尝试使用
ng if
指令

<strong ng-if="!yourConditionHere">{{ s.sFirstName }} {{ s.sLastname }}</strong>
<strong ng-if="yourConditionHere">YOU</strong>
{{s.sFirstName}}{{s.sLastname}}

将此处的
yourcondition
替换为您的条件。

尝试使用
ng if
指令

<strong ng-if="!yourConditionHere">{{ s.sFirstName }} {{ s.sLastname }}</strong>
<strong ng-if="yourConditionHere">YOU</strong>
{{s.sFirstName}}{{s.sLastname}}
将您的条件替换为您的条件。

可能使用或


可能使用或


它看起来不太好(在本例中),但在其他情况下(使用更紧凑的表达式):可以使用三元运算符
(cond)?expr:expr

<strong>{{
    ((u.firstname===user.firstname)&&(u.lastname===user.lastname))?
            'YOU':
            u.firstname+' '+u.lastname}}
</strong>
{{
((u.firstname==user.firstname)&&(u.lastname==user.lastname))?
‘你’:
u、 firstname+“”+u.lastname}

另请参见此


注意

提到的其他方法(例如,使用
ngShow
ngIf
等)是可行的解决方案,但它们涉及创建/销毁/操纵额外的DOM元素,如果
用户
列表变大,这可能会对性能产生显著影响

顺便说一句,您也可以使用
ngSwitch
达到相同的目的。

它看起来不太好(在本例中),但在其他情况下(使用更紧凑的表达式),它可能会很有用:您可以使用三元运算符
(cond)?expr:expr

<strong>{{
    ((u.firstname===user.firstname)&&(u.lastname===user.lastname))?
            'YOU':
            u.firstname+' '+u.lastname}}
</strong>
{{
((u.firstname==user.firstname)&&(u.lastname==user.lastname))?
‘你’:
u、 firstname+“”+u.lastname}

另请参见此


注意

提到的其他方法(例如,使用
ngShow
ngIf
等)是可行的解决方案,但它们涉及创建/销毁/操纵额外的DOM元素,如果
用户
列表变大,这可能会对性能产生显著影响


顺便说一句,您也可以使用
ngSwitch

如果
ng show
ng hide
指令或
scope
功能,您可以使用
ng

使用ng if指令

  <strong ng-if="s.FirstName"> {{ s.sFirstName }} {{ s.sLastname }} </strong>
  <strong ng-if="!s.FirstName"> You </strong>
  <strong ng-show="s.FirstName"> {{ s.sFirstName }} {{ s.sLastname }} </strong>
  <strong ng-show="!s.FirstName"> You </strong>
  <strong ng-hide="!s.FirstName"> {{ s.sFirstName }} {{ s.sLastname }} </strong>
  <strong ng-hide="s.FirstName"> You </strong>

如果
ng show
ng hide
指令或
scope
功能,则可以使用
ng

使用ng if指令

  <strong ng-if="s.FirstName"> {{ s.sFirstName }} {{ s.sLastname }} </strong>
  <strong ng-if="!s.FirstName"> You </strong>
  <strong ng-show="s.FirstName"> {{ s.sFirstName }} {{ s.sLastname }} </strong>
  <strong ng-show="!s.FirstName"> You </strong>
  <strong ng-hide="!s.FirstName"> {{ s.sFirstName }} {{ s.sLastname }} </strong>
  <strong ng-hide="s.FirstName"> You </strong>
如果工作正常的话

您还可以设置一个返回用户显示名称的过滤器,以避免在标记中添加逻辑

我正在设置一个JSFIDLE来向您展示一个示例

编辑:

好了

如果工作正常的话

您还可以设置一个返回用户显示名称的过滤器,以避免在标记中添加逻辑

我正在设置一个JSFIDLE来向您展示一个示例

编辑:

好了