解决vue加scoped后就无法修改vant的UI组件的样式问题


Posted in Javascript onSeptember 07, 2020

有时候UI组件提供的默认的样式不能满足项目的需要,就需要我们对它的样式进行修改,但是发现加了scoped后修改的样式不起作用。

解决方法:

使用深度选择器,将scoped样式中的选择器“深入”,即影响子组件

<style scoped>
 .a >>> .b { /* ... */ }
</style>

以上的代码会编译成:

.a[data-v-f3f3eg9] .b { /* ... */ }

注意:如果你使用了Less或Sass等预处理器,可能无法>>>正确解析。在这些情况下,您可以使用组合/deep/或::v-deep组合 - 两者都是别名,>>>并且工作完全相同。

使用Less或Sass等预处理器的写法如下:

.van-radio {
 /deep/ .van-radio__label {
  width: 500px;
 }
}

补充知识:vue+vant移动端遇到的那些问题

1、项目引用了lib-flexible 跟px2rem-loader做适配,然后真机测试的时候发现字体在手机上显示的很小。【推荐去看下px2rem-loader的文档】

原因+解决:百度说应该在后面加上/*px*/(font-size:14px;/*px*/),这里这么设置时,字体的大小要为两倍,如你想让字体显示为14px,css代码则为【font-size:28px;/*px*/】,对于border这些不想转换为rem的(或者说没必要转换的),在后面加上/*no*/;

2、使用vant组件时发现样式什么的跟vant官网的demo天差地别

原因+解决:是引入的适配框架把单位都给转换成rem了,所以gg了,自己调整样式就好了

3、页面写style用了scoped,调整vant组件样式的时候,不起作用【这里涉及了vue最重要的点:父子组件,半吊子的我完全没吃透父子关系】

原因+解决:scoped的作用是让样式应用于当前页,不影响其他的页面的样式,而当你用了vant组件想调整它的组件样式时,这个组件是子组件,因为你用了scoped,所以影响不到它,这个时候你应该使用deep——深入选择器,下图就是用法,如果你用了less或者sass这些,写法请自行百度!!!(本人略怂,不敢在项目赶得时候用太多不熟的东西),当然啦,你也可以任性的在公共css样式文件里写,我说的就跟你没半毛钱关系了,谨防被打死就好!

解决vue加scoped后就无法修改vant的UI组件的样式问题

4、使用了vant的搜索组件,然后在ios上测试时发现,input框被放大了

原因+解决:在index.html的头部加上"maximum-scale=1.0, user-scalable=0",禁止它放大

<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />

5、vant的组件,我是按需引入的,在main.js中引入,使用toast组件时,引用了,直接在要用的页面的方法里this.$toast()这样就可以,然后使用vant的图片预览组件的时候以为这样也可以,结果gg,发现直接在页面上引入,照着文档那样写就可以。

原因+解决:仔细对比了toast跟imagePreview的文档介绍,发现toast是有介绍说它挂载到了vue上。。。emmmm,imagePreview怕是没挂载,挂载上去之后就可以用了

解决vue加scoped后就无法修改vant的UI组件的样式问题

6、 跳转页面时标题名没切换,比如首页跳到联系页,页面头部还是首页【看Vue Router文档】

原因+解决:因为我没做什么修改操作,所以不会变。在路由router/index.js中对路由配置 meta 字段,再在main.js中使用全局前置守卫

解决vue加scoped后就无法修改vant的UI组件的样式问题

router.beforeEach((to, from, next) => {
 //修改标题
 if (to.meta.title) {
  document.title = to.meta.title;
 }
 next();
});

第一次将自己自学的东西应用到项目中,新项目开始,自己作为项目中唯一的前端,不怕死的用了vue,其实也是个半吊子,现在一期开发结束,总结下这些遇到的问题,可能很基础,但是毕竟是自己遇到的,还是要记录下来的!

以上这篇解决vue加scoped后就无法修改vant的UI组件的样式问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
Mar 01 Javascript
jquery得到iframe src属性值的方法
Sep 25 Javascript
js判断手机和pc端选择不同执行事件的方法
Jan 30 Javascript
JavaScript动态提示输入框输入字数的方法
Jul 27 Javascript
jquery可定制的在线UEditor编辑器
Nov 17 Javascript
javascript加减乘除的简单实例
Jul 12 Javascript
基于jquery实现弹幕效果
Sep 29 Javascript
用 js 的 selection range 操作选择区域内容和图片
Apr 18 Javascript
微信小程序实现跳转的几种方式总结(推荐)
Apr 24 Javascript
Vue 动态添加路由及生成菜单的方法示例
Jun 20 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 Javascript
如何理解Vue简单状态管理之store模式
May 15 Vue.js
Vue.js原理分析之nextTick实现详解
Sep 07 #Javascript
小程序实现可拖动的悬浮按钮
Sep 07 #Javascript
vue 修改 data 数据问题并实时显示操作
Sep 07 #Javascript
nginx部署多个vue项目的方法示例
Sep 06 #Javascript
js实现简单的无缝轮播效果
Sep 05 #Javascript
JS+CSS实现炫酷光感效果
Sep 05 #Javascript
js实现炫酷光感效果
Sep 05 #Javascript
You might like
php读取本地json文件的实例
2018/03/07 PHP
JavaScript Konami Code 实现代码
2009/07/29 Javascript
prettify 代码高亮着色器google出品
2010/12/28 Javascript
js 利用className得到对象的实现代码
2011/11/15 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
js获取浏览器基本信息大全
2014/11/27 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
js判断文件格式及大小的简单实例(必看)
2016/10/11 Javascript
Vue.js实现微信过渡动画左右切换效果
2017/06/13 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
js实现左右轮播图
2020/01/09 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
用python找出那些被“标记”的照片
2017/04/20 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
深入了解Python enumerate和zip
2020/07/16 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
中层竞聘演讲稿
2014/01/09 职场文书
2014植树节活动总结
2014/03/11 职场文书
消防安全责任书
2014/04/14 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
水电站项目建议书
2014/05/12 职场文书
爱心捐书活动总结
2014/07/05 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang