Angular Expression中的HTML标记

时间:2016-02-24 16:52:02

标签: angularjs expression

Angular中是否有以下方法:

<span>Delete {{ vm.name ? '<strong>' + vm.name + '</strong> : 'this user'}}?</span>

如果vm.name存在,我想将名称换成<strong>代码,如果不是,我想显示this user没有<strong>代码?

这可能吗?

感谢任何帮助。提前谢谢!

3 个答案:

答案 0 :(得分:1)

试试这个:

<span>Delete <strong ng-if="vm.name">{{vm.name}}</strong><span ng-if="!vm.name">this user</span></span>

答案 1 :(得分:1)

有几种方法可以实现这一目标:

NG-如果

<span>
    Delete <strong ng-if="vm.name">vm.name</strong><span ng-if="!vm.name">this user</span>?
</span>

如果<strong ng-if="vm.name">vm.name</strong>存在,则显示vm.name,如果不存在则显示<span ng-if="!vm.name">this user</span>

条件类

<style>
   .bold {
        font-weight: bold;
    }
</style>

<span>
    Delete <span ng-class="{bold: vm.name}">{{ vm.name ? vm.name : 'this user'}}</span>?
</span>

这会有条件地将班级bold添加到您的范围内。您需要将自己的CSS添加到该类中(除非它已经存在)。

你可以用ng-bind-html做些什么,但这有点痛,我不推荐它。

答案 2 :(得分:0)

可能有不同的方法来实现这一目标。

选项1

<span > Delete <strong>{{asset.Name}} </strong> <span ng-if=asset.Name.length==0> this user</span></span>

选项2

<span ng-if="asset.Name==0">  Delete  this user</span>
<span ng-if="asset.Name.length>0"> Delete <strong>{{asset.Name}} </strong>