在uniapp中,给组件绑定外部class无效通常是因为你的绑定方式不正确。在uniapp中,你可以使用class属性来绑定外部的样式类。
组件vue
html
<template>
<view :class="[externalClass,customClass]">
这是一个带有外部样式类的组件。
</view>
</template>
<script>
export default {
props:{
customClass:String //接收 动态class
},
data() {
return {
// 假设你在外部定义了一个样式类 'my-external-class'
externalClass: 'my-external-class'
}
}
}
</script>
<style lang="scss" scoped>
/* 在<style>标签外部定义样式类 */
.my-external-class {
color: red;
font-size: 16px;
}
</style>
引用组件:
html
<template>
<view :class="[classA, classB]">
这是一个样式。
<!--:customClass="classA" 这里动态绑定 :customClass="classA", 或是customClass="my-class-a" -->
<test :customClass="classA"></test>
</view>
</template>
<script>
import Test from "@/components/test/test.vue"
export default {
components: {
Test
},
data() {
return {
classA: 'my-class-a',
classB: 'my-class-b'
}
}
}
</script>
<style lang="scss" scoped>
/* 在<style>标签外部定义样式类 */
.my-class-a {
color: blue;
background: linear-gradient( 180deg, #FFF1E3 0%, #FFFFFF 50%);
}
.my-class-b {
font-size: 14px;
}
</style>