Vue在css中使用js的变量
# Vue2
<template>
<div :style="cssVars">
<p class="text">测试文本</p>
</div>
</template>
<script>
export default {
data() {
return {
color: "red"
};
},
computed: {
cssVars() {
return {
"--color": this.color
};
}
}
};
</script>
<style lang="scss" scoped>
.text {
color: var(--color);
}
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Vue3
<template>
<div>
<p class="text">测试文本</p>
</div>
</template>
<script>
export default {
data() {
return {
color: "red"
};
}
};
</script>
<style scoped vars="{ color }">
.text {
color: var(--color);
}
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 兼容 scss
<style scoped vars="{ color }">
h1 {
font-size: var(--global:fontSize);
}
</style>
1
2
3
4
5
6
2
3
4
5
6
<style lang="scss" scoped vars="{ color }">
.home {
color: var(#{"--global:color"});
}
</style>
1
2
3
4
5
2
3
4
5
参考:
编辑 (opens new window)
上次更新: 2023/09/17, 23:41:49