此处为scss使用方法
一、vue2
核心::style="{'--color': bgColor}" 将样式变量和js变量关联
background-color: var(--color); 使用样式变量
<template>
<view class="tabbar">
<view v-for="(item,index) in tabbarData" :key="index" class="item" @click="clickPage(item.url)" :style="{'--color': bgColor}">
<image :src="status==index?item.selected:item.unselected" mode="">
</image>
<view class="text" :style="{color:status==index ? item.activeColor :item.defaultColor}">
{{item.text}}
</view>
</view>
</view>
</template>
<script>
export default {
name: "",
props: {
bgColor: {
type: String,
default: '#fff'
}
}
}
</script>
<style lang="scss" scoped>
.tabbar {
.item {
&:nth-of-type(3) {
border-radius: 50%;
background-color: var(--color);
}
}
}
</style>
二、vue3
核心:let fontcolor = ref('red');
color: v-bind(fontcolor); 使用样式变量
<template>
<p>父组件</p>
</template>
<script setup lang="ts">
import { ref } from 'vue';
let fontcolor = ref('red');
</script>
<style lang="scss" scoped>
p{
color: v-bind(fontcolor);
}
</style>