Kbone项目中使用自定义组件样式丢失怎么办?
我在Kbone项目里写了个带背景色的按钮组件,但渲染到页面后颜色完全没显示。试过用内联样式style="background:red"和组件内CSS都无效。
组件代码是这样的:
<kbone-component id="my-button">
<style>
.btn { background: blue; padding: 10px; }
</style>
<template>
<button class="btn">点击</button>
</template>
<script>
customElements.define('my-button', class extends KBoneElement {})
</script>
</kbone-component>
控制台没有报错,但检查元素发现样式属性被忽略了,这是为什么?是不是需要额外配置样式作用域?
scope属性,这样样式才会正确绑定到组件内部元素上。修改后的组件代码应该像这样:加上
scope后,Kbone 会自动给组件内部的 class 加上唯一标识,避免样式冲突同时保证样式正确生效。我也踩过这个坑,真的加了这个属性就能用。