UniApp 组件内修改组件内的组件的样式,穿透组件中的组件样式


页面可以修改页面引入的组件样式 直接使用 /deep/
例如:
main页面 修改 a组件的样式

	<style lang="scss" scoped>
	<template>
		<view>
			<a-d class="a-d"></a-d>
		</view>
	</template>
	<script>
		import a from "@/components/a.vue";
		export default {
			components: {
				"a-d": a
			}
		}
	</script>
	<style lang="scss">
		.a-d /deep/ .a{
			color: red;
		}
	</style>
</style>

重点:组件中样式不能直接穿透组件,需要在页面中穿透组件(也就是说在页面中组件的样式再写组件中的组件的样式),参考下列写法

main.vue 这是一个页面
<template>
	<view>
		<a-d class="a-d"></a-d>
	</view>
</template>
<script>
	import a from "@/components/a.vue";
	export default {
		components: {
			"a-d": a
		}
	}
</script>
<style lang="scss" scoped>
	.a-d /deep/ .a{
		color: red;
		.b{
			color: blue;
		}
	}
</style>
这是 a 组件

a 组件不包含样式

<template>
	<view class="a">
		<text>a</text>
		<b-d class="b-d"></b-d>
	</view>
</template>

<script>
	import b from "./b.vue";
	export default {
		components:{
			"b-d": b
		},
		name:"a"
	}
</script>
这是 b 组件

b 组件不包含样式

<<template>
	<view class="b">
		<text>b</text>
	</view>
</template>
<script>
	export default {
		name:"b",
	}
</script>
Logo

前往低代码交流专区

更多推荐