css - 如何在 Vue.js 中添加条件样式?
问题描述
我想在我的组件中添加条件样式。我的组件如下:
<site-pricing
color="primary"
currency="$"
price="25"
to="/purchase"
>
<template v-slot:title>Complete</template>
<template v-slot:desc>{{ $t('plans.completeDesc' )}}</template>
<template v-slot:planSuffix>/ {{ $t('plans.oneTime' )}}</template>
<template v-slot:features>
<ul>
<li>{{ $t('plans.xchats', [ 200 ] )}}</li>
<li>{{ $t('plans.sDomain' )}}</li>
</ul>
</template>
<template v-slot:footer>{{ $t('plans.oneTime' )}}</template>
</site-pricing>
我想添加一个特殊的样式,就像'color = primary',然后添加一个border-top:5px red ...
解决方案
您应该为 vue 使用条件样式绑定。我将展示一个例子:
new Vue({
el: '#app',
data: {
color: "secondary"
},
methods: {
toggleColor(val) {
this.color = val
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div :style="[color==='primary' ? {color: 'red'} : {color: 'blue'}]">Primary</div>
<div :style="[color==='secondary' ? {color: 'red'} : {color: 'blue'}]">Secondary</div>
<button @click="(e) => toggleColor('primary')">Switch to pirmary</button>
<button @click="(e) => toggleColor('secondary')">Switch to secondary</button>
</div>
推荐阅读
- mysql - SQL获取一列值的计数并按另一列分组
- python-3.x - 音频到文本的速度很慢,并且单词正在丢失
- python - 打印出一个函数和一个字符串不起作用!Python
- java - 如何配置 Spring/Springboot 访问主页?
- indexing - powerbi 起始索引为“0”还是“1”?
- ios - 如何在 ios 中从图像选择器中选择时以自由方式裁剪图像(根据用户需要)
- runtime-error - Pythonwin.exe 不指出运行时错误的代码行
- twilio - twilio 停止接收消息
- mongodb - 在 Spring Data MongoDB 中排除嵌套字段
- hadoop - HDFS平衡,如何平衡hdfs数据