Vue系列插件
1.lib-flexible
这是一个适配的插件,还有一个就是postcss-pxtorem,可以将px转化为rem。但是别人在使用的时候,出现了一个54问题,就是在不同的电脑上,出现的效果不一样。
这里我就不写解决方案了,就是参考文章2中出现的问题,可以使用其中的解决方法。
1 | function refreshRem(){ |
1.lib-flexible适配大屏方案(附移动端适配) (这是插件及其使用问题)
2.vue实现PC端分辨率适配 (这里有个540相关问题)
3.vue-cli3.0 使用postcss-plugin-px2rem(推荐)和 postcss-pxtorem(postcss-px2rem)自动转换px为rem 的配置方法;
2.image-webpack-loader
在我的电脑上安装image-webpack-loader插件进行图片压缩,是没有问题的,但是在别人的电脑上安装,总是安装不成功:cnpm install image-webpack-loader -D ,报错:
1 | Command failed: E:\dxq\website\node_modules\_pngquant-bin@6.0.0@pngquant-bin\vendor\pngquant.exe --version |
有篇文章说,是因为要翻墙,因为我的电脑的确翻过了,但是另一台安装不上的电脑,却没有翻墙。还有就是说,image-webpack-loader中的pngquant不支持windows,但是我自己的电脑上的开发环境就是windows,另外一台安装不上的也是windows。奇怪的是,我在linux服务器上运行,也是可以正常安装和压缩部署的。
[尝试]
在windows上可以尝试安装 windows-build-tools ,不起作用
1 | cnpm install --global windows-build-tools |
1.webpack图片压缩image-webpack-loader无法安装或安装卡死的解决办法 (先卸载,在安装,我已经试过很多回了,就是不行)
2.npm install is broken by pngquant-bin dependency (这里是针对无法安装libpng-dev进行的修复,我没有尝试,但是据不可靠消息,安装了npm install –global windows-build-tools之后,那台不行的电脑,真的就安装成功了。)
3.窗口可拖动
1 | import Vue from 'vue'; |
1.Vue-实现div弹窗可自由拖拽(亲测有效)
4.vue-seamless-scroll
vue-seamless-scroll 是一个滚动列表组件,使用也非常的简单,就是绑定数据列表,就可以了,下面的是使用 pug 语法搞的。
1 | vue-seamless-scroll(:data="pinlist" :class-option="classOption" ref="scrollCom") |
(1)设置 autoPlay
这里有一个要说明的地方,就是要想自动控制滚动和停止滚动,需要配置 autoPlay:false,因为要是不配置的话,那就会导致鼠标滑过之后,就会继续的滚动了。
1 | data() { |
(2)执行滚动方法
然后在组件加载的时候,自动通过 _startMove() 进行列表滚动。
1 | mounted(){ |
(3)列表点击时停止滚动,这样就可以实现点击停止滚动,关闭点击然后继续滚动了。
1 | // 列表点击 |
【1】.有没有停止滚动事件? 和再次开始滚动事件 这是作者回复的相关内容
【2】.vue-seamless-scroll数据量少时,暂停滚动,继续滚动 数据量少的时候如何自动滚动
【3】.vue-seamless-scroll 动态开启和关闭滚动 绑定一个ref, 通过this.$refs.scroll3._cancle()方法停止滚动, 通过 this.$refs.scroll3._startMove()方法再次启动
【4】.安装 文档
【5】.chenxuan0000 / vue-seamless-scroll 源码
【6】.DavidJ-0 / vue-j-scroll.js 另外一个滚动插件
【7】.革命性创新,动画杀手锏 @scroll-timeline
问题
(1) 滚动重置
如果动态请求的数据,该如何处理呢?我尝试了使用 reset() 方法,结果没有效果,还是一样的。而且我配置了 limitMoveNum ,列表重复的数量,结果也不起作用,就是只能滚动一而已。
【解决方案】
就是通过 yPos 属性,重新定位滚动的位置。
1 | this.$refs.scrollCom._stopMove() |
【1】.vue项目中使用vue-seamless-scroll遇到的坑
【2】.关于使用vue-seamless-scroll,滚动到第二遍的时候不能进行点击的问题记录 这个好像没有用
【3】.使用vue-seamless-scroll实现滚动,出现空白间隔的问题 1.检查一下css样式,可能是布局出了问题,2.清空下浏览器缓存试试;3.在vue-seamless-scroll中再复制一次滚动列表。
(2)无限滚动
在我的使用过程中,出现了一个问题,就是比如我数据量是 30 条,那么等这个30条滚动完成之后,就没有了,没有实现无限滚动。
经过尝试,要想实现无限滚动,这个 autoPlay 必须设置为 true,但是如果设置为了 true,就无法实现点击列表之后,暂停滚动。无论是调用 _cancle() 方法,还是调用 _stopMove() 方法,都没效果。
【解决方案】
经过尝试,还有思考,最后可以通过属性设置重置 autoPlay属性
1 | // 列表点击时将 autoPlay 设置为 false ,在合适的时候的时候再打开 |
【1】.vue中如何运用vue-seamless-scroll超简单实现自动无限循环滚动和停顿滚动效果
【2】.【vue vue-seamless-scroll】解决vue-seamless-scroll鼠标悬浮才滚动或者只滚动一次就失效的问题 最后发现是因为数据需要在页面挂载好就赋值,否则页面在加载完成后,数据无法自动滚动。但因为数据是网络传输获取的,所以采用获取到数据后,重新渲染这一块页面的解决方式解决。
【3】.复杂结构数组属性更新问题