类绑定三元运算符

新手上路,请多包涵

我想将一些相当繁琐的逻辑应用于元素类。

 :class="{sportTypes.sports.indexOf(sport) > -1 ? 'is-primary' : 'is-outlined'}"

以上不起作用,而以下起作用:

 :class="{'is-outlined': sportTypes.sports.indexOf(sport) > -1}"

我收到以下错误

template syntax error - invalid expression:

任何想法第一部分有什么问题?

原文由 softcode 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 413
2 个回答

你有不必要的大括号。后一个表达式是一个对象,而第一个表达式只是一个返回字符串的三元表达式。

 :class="sportTypes.sports.indexOf(sport) > -1 ? 'is-primary' : 'is-outlined'"

原文由 Phil 发布,翻译遵循 CC BY-SA 3.0 许可协议

此处 文档中给出的语法一样,您可以使用以下数组语法来实现此目的:

 :class="[sportTypes.sports.indexOf(sport) > -1 ? 'is-primary' : 'is-outlined']"

原文由 Saurabh 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题