在 AngularJS 的三元运算符中使用过滤器
Posted
技术标签:
【中文标题】在 AngularJS 的三元运算符中使用过滤器【英文标题】:Using filters inside a ternary operator in AngularJS 【发布时间】:2013-06-11 19:23:26 【问题描述】:当模板中的变量是三元运算的一部分时,有没有一种方法可以对模板中的变量应用过滤器?
<img ng-src=" image_url && image_url|filter:"foo" || other_url ">
在这种情况下,过滤器是一个自定义过滤器,但我不想修改它来处理三元运算(因为过滤器可能会根据使用的位置而有所不同,我不想重新实现该逻辑很多次)。
【问题讨论】:
对我来说,这看起来太复杂了,无法内联。我将创建一个函数,该函数将根据您需要执行的任何逻辑返回 src。 【参考方案1】:Liviu T. 在大多数情况下可能是正确的:在这种情况下,您希望在范围上创建一个为您返回正确数据的函数。
也就是说,您可以通过将过滤后的表达式包装在括号中:
image_url && (image_url | filter:"foo") || other_url
Fiddle
【讨论】:
以上是关于在 AngularJS 的三元运算符中使用过滤器的主要内容,如果未能解决你的问题,请参考以下文章
AngularJS - 我可以根据三元运算符使用数据绑定值吗