Angularjs 将HTML设置为Angular JS中未定义变量的默认值

Angularjs 将HTML设置为Angular JS中未定义变量的默认值,angularjs,Angularjs,我有一个可能像这样未设置的变量 {{salesperson || 'not set'}} {{salesperson || '<span class="error">- Not Set -</span>'}} 我想像这样在未设置区域添加一个CSS类 {{salesperson || 'not set'}} {{salesperson || '<span class="error">- Not Set -</span>'}} {{销售人员|

我有一个可能像这样未设置的变量

{{salesperson || 'not set'}}
{{salesperson || '<span class="error">- Not Set -</span>'}}
我想像这样在未设置区域添加一个CSS类

{{salesperson || 'not set'}}
{{salesperson || '<span class="error">- Not Set -</span>'}}
{{销售人员| |'-未设置-}

当我尝试这样做时,它会抛出语法错误。

表达式中的HTML通过angular转义,以避免HTML/JS注入

使用ng类:

<span ng-class="{error: !salesperson}">{{salesperson || 'not set'}}</span>
{{销售人员| |'未设置'}
或者干脆不显示/不隐藏:

<span ng-hide="salesperson" class="error">not set</span>
<span ng-show="salesperson">{{ salesperson }}</span>
未设置
{{销售人员}

因此,如果您真的非常想注入HTML,请看以下问题:

但如果您只是想在未定义错误时显示错误:

{{salesperson}}<span ng-if="!salesperson" class="error ng-cloak">- Not Set -</span>'
{{salesson}}-未设置-'

只有
销售人员
未定义时,才会显示跨度。确保定义你的
ng斗篷
css以防止任何闪烁。

这很好。您可能需要使用
ng-clope
来防止“未设置”在加载时在屏幕上闪烁。