需求是这样的,我有一个页面是公用的,我给抽成组件了,内部使用了weui提供的half-screen-dialog组件,但是在组件的wxss引入外部的wxss文件时并没有生效,如下
@import "../../../miniprogram_npm/weui-miniprogram/weui-wxss/dist/style/weui.wxss";
遂回去看小程序的文档,在自定义组件那里看到解决方法是:
Component({
options: {
styleIsolation: 'shared'
}
})
然后就生效了,styleIsolation有好几个选项
- isolated 表示启用样式隔离,在自定义组件内外,使用 class 指定的样式将不会相互影响(一般情况下的默认值);
- apply-shared 表示页面 wxss 样式将影响到自定义组件,但自定义组件 wxss 中指定的样式不会影响页面;
- shared 表示页面 wxss 样式将影响到自定义组件,自定义组件 wxss 中指定的样式也会影响页面和其他设置了 apply-shared 或 shared 的自定义组件。(这个选项在插件中不可用。)
具体见官网:小程序官方文档