后端问一个 element plus 和 vue3 的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
617953997
V2EX    Vue.js

后端问一个 element plus 和 vue3 的问题

  •  
  •   617953997 2023-11-29 10:52:03 +08:00 2536 次点击
    这是一个创建于 689 天前的主题,其中的信息可能已经有所发展或是发生改变。

    第一个问题: 我使用 vue3 和 element plus 框架,使用 webpack 打包做的一个油猴脚本,发现将打包后的脚本挂在目标网站上之后,大概是由于目标网站也使用的是 element 且和我自己的脚本的版本不一致,导致了两个问题: 1.我自己脚本上的默认样式全变为了目标网站的样式,比如 element plus 默认的按钮是蓝色,脚本挂载到目标网站上之后油猴脚本的按钮样式变为了目标网站的按钮颜色.

    2.目标网站的一些样式,比如输入框,时间选择器等等的样式都错乱了,无法正常使用.

    所以我想问问如何在不换 element plus 的前提下解决这种问题, 按照 element plus 官网的方法 更换脚本的主题可行吗, 更换命名空间可行吗

    第二个问题: 如果网站使用 vue 开发,在发布之后,用户能不能在前台拿到 vue 的实例对象. 网站使用路由的方式在不刷新页面的情况下更改 URL 地址,并且打开新功能页, 控制台中能不能实现类似的效果?

    9 条回复    2024-01-26 08:18:34 +08:00
    otmself
        1
    otmself  
       2023-11-29 11:16:40 +08:00
    第一个问题感觉应该是样式类名相同,优先层级问题。思路应该没问题,但是具体实施我也没干过。
    FakerLeung
        2
    FakerLeung  
       2023-11-29 11:29:59 +08:00
    换命名空间。在 scoped 的 style 标签中再引入你的 css 试试
    duan602728596
        3
    duan602728596  
       2023-11-29 12:13:02 +08:00   1
    sechi
        4
    sechi  
       2023-11-29 14:53:15 +08:00
    除非主动把 Vue 实例挂载到 window 对象上,不然是没办法在控制台拿到的吧。如果你只是想跳转路由,可以直接在控制台使用 window.history 来操作路由,这也是 vue-router history 模式的底层实现。
    wangtian2020
        5
    wangtian2020  
       2023-11-29 15:05:12 +08:00
    <style scoped>

    </style>

    当 <style> 标签带有 scoped attribute 的时候,它的 CSS 只会影响当前组件的元素
    https://cn.vuejs.org/api/sfc-css-features.html
    liaoliaojun
        6
    liaoliaojun  
       2023-11-29 15:48:16 +08:00   1
    ElementPlus 是使用 BEM 命名规则,所以分为俩步 1.修改组件的命名:参考 3 楼。2. 修改对应的 css 文件中的命名:ElementPlus 中的$namespace 变量:位于 https://github.com/element-plus/element-plus/blob/dev/packages/theme-chalk/src/mixins/config.scss#L1 重新编译指定版本的 scss 生成 css 文件。
    YANGTEKE
        7
    YANGTEKE  
       2023-11-29 15:55:37 +08:00 via iPhone
    第一个问题除了上面老哥说的可以看下 css 变量是不是污染了
    第二个问题可以通过 html app 节点的__vue_app__访问 vue 实例
    SixGodHave7
        8
    SixGodHave7  
       2023-11-30 13:58:25 +08:00
    第一个问题,你打包设置一下替换你的 element class 类名,用什么 loader 你搜一下
    lilu0826
        9
    lilu0826  
       2024-01-26 08:18:34 +08:00 via Android
    换命令空间,el 改为 dl 即可
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2598 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 09:52 PVG 17:52 LAX 02:52 JFK 05:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86