我想要将一些相当麻烦的逻辑应用于元素类。
:class="{sportTypes.sports.indexOf(sport) > -1 ? 'is-primary' : 'is-outlined'}"
以上不起作用,而以下是:
:class="{'is-outlined': sportTypes.sports.indexOf(sport) > -1}"
我收到以下错误
template syntax error - invalid expression:
任何想法第一部分有什么问题?
答案 0 :(得分:11)
你有不必要的牙套。后一个表达式是一个对象,而第一个表达式只是一个返回字符串的三元表达式。
:class="sportTypes.sports.indexOf(sport) > -1 ? 'is-primary' : 'is-outlined'"
答案 1 :(得分:1)
当您在Vue
中应用类绑定时,您只能在第二个语句中使用大括号进行对象样式分配。对于单个绑定,您只需...
:class="sportTypes.sports.indexOf(sport) > -1 ? 'is-primary' : 'is-outlined'"
如果您想在同一个逻辑语句中应用多个绑定,请将它们包围在[]
而不是{}
中,并用逗号分隔。
答案 2 :(得分:1)
与文档here中给出的语法相同,您可以使用以下数组语法来实现此目的:
:class="[sportTypes.sports.indexOf(sport) > -1 ? 'is-primary' : 'is-outlined']"