San*_*jay 18 javascript css vue.js vue-component
我有一个父组件:
<template>
<ChildComponent :styles="styles" />
</template>
<script>
export default {
data: () => ({
styles: `
p {
color: red
}
`
})
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是子组件:
<template>
<p>Hello World</p>
</template>
<script>
export default {
props: {
styles: {
type: String,
required: true
}
}
}
</script>
<style scoped>
</style>
Run Code Online (Sandbox Code Playgroud)
现在我想使用子组件中父组件提供的那些样式作为作用域样式。例如:
<!-- ChildComponent.vue -->
<style scoped>
p {
color: red
}
</style>
Run Code Online (Sandbox Code Playgroud)
有什么办法吗?
dre*_*ens 22
如果要使用范围样式定位子元素,则必须使用深度选择器。
可以用
a >>> b { color : red; }
/deep/ a b { color : red; }
a::v-deep b { color : red; }
Run Code Online (Sandbox Code Playgroud)
这是完整的解释:https : //vue-loader.vuejs.org/guide/scoped-css.html#child-component-root-elements