如何仅在变量设置为true
时绑定属性?
<template>
<v-list-tile :class="{[$color]: isItemSelected, [$primaryText]: isItemSelected}" :href="route">
<v-list-tile-action>
<v-icon :color="$primaryIcon">{{ icon }}</v-icon>
</v-list-tile-action>
<v-list-tile-content>
<v-list-tile-title>{{ title }}</v-list-tile-title>
</v-list-tile-content>
</v-list-tile>
</template>
<script>
export default {
name: 'list-tile-text-icon',
props: ['icon', 'title', 'route'],
data: () => ({
isItemSelected: false
}),
created() {
this.isItemSelected = window.location.href === this.route;
}
}
</script>
在第4行,我只有在:color="$primaryColor"
变量等于isItemSelected
时才需要绑定true
。
答案 0 :(得分:3)
v-bind
中使用的值是JavaScript 表达式,因此您可以使用Conditional (ternary) operator:
<v-icon :color="isItemSelected ? $primaryIcon : null">
注意:我称之为v-bind
,因为:
只是v-bind
的简写。即:color=""
与v-bind:color=""
答案 1 :(得分:0)
Vue class and style binding doc
这是关于vue类和样式绑定的官方文档,
细节:
<v-list-title :class="{someClassYouDefine: isItemSelected}"> </v-list-title>
然后写下你想要的风格
<style>
.someClassYouDefine {
color: $primaryColor;
}
</style>