我可以在 class 属性之外使用带 angularjs 的三元运算符吗?
Can I use a ternary operator with angularjs outside of the class attribute?
我正在使用 AngularJS 遍历 json 对象,并且在处理空值时遇到问题。
我是 Angular 的新手。
<a href="#" data-mycustom="{{product.related}}">...</a>
如果 related 为空:
{
"related":null
}
我想在它的位置放一个“-1”:
<a href="#" data-mycustom="-1">...</a>
尝试了三元运算符,但它没有计算...它只是将其显示为纯文本。
您可以简单地使用 ng-attr
在评估 {{}}
插值指令后添加自定义属性
标记
<a href="#" ng-attr-data-mycustom="{{product.related || '-1' }}">...</a>
使用或运算符。此代码将有所帮助:
<a href="#" data-mycustom="{{product.related || -1}}">...</a>
就用这个
<a href="#" ng-attr-data-mycustom="{{product.related || '-1' }}">...</a>
类似于"try to use product.related if it exists. if it doesnt, use -1 insted"
为了完整起见,这是 OP 原始问题 ("how do you use a ternary in a directive") 的答案:
在 整个 三元语句周围添加 {{}}
,而不仅仅是变量。例如,这个
<a href="#" data-mycustom="{{product.related}} ? product.related : '-1'">...</a>
应该是
<a href="#" data-mycustom="{{product.related ? product.related : '-1'}}">...</a>
否则,Angular 不会解析它——您将获得 product.related
的值,后跟文本 ? product.related : '-1'
.
我正在使用 AngularJS 遍历 json 对象,并且在处理空值时遇到问题。
我是 Angular 的新手。
<a href="#" data-mycustom="{{product.related}}">...</a>
如果 related 为空:
{
"related":null
}
我想在它的位置放一个“-1”:
<a href="#" data-mycustom="-1">...</a>
尝试了三元运算符,但它没有计算...它只是将其显示为纯文本。
您可以简单地使用 ng-attr
在评估 {{}}
插值指令后添加自定义属性
标记
<a href="#" ng-attr-data-mycustom="{{product.related || '-1' }}">...</a>
使用或运算符。此代码将有所帮助:
<a href="#" data-mycustom="{{product.related || -1}}">...</a>
就用这个
<a href="#" ng-attr-data-mycustom="{{product.related || '-1' }}">...</a>
类似于"try to use product.related if it exists. if it doesnt, use -1 insted"
为了完整起见,这是 OP 原始问题 ("how do you use a ternary in a directive") 的答案:
在 整个 三元语句周围添加 {{}}
,而不仅仅是变量。例如,这个
<a href="#" data-mycustom="{{product.related}} ? product.related : '-1'">...</a>
应该是
<a href="#" data-mycustom="{{product.related ? product.related : '-1'}}">...</a>
否则,Angular 不会解析它——您将获得 product.related
的值,后跟文本 ? product.related : '-1'
.