生活资讯
干货分享:vue2.0做移动端开发用到的相关插件和经验总结
2024-12-24 06:54  浏览:80

5、better-scroll

  • better-scroll介绍
better-scroll, 官方网址,better-scroll 是一款重点解决移动端(现已支持 PC 端)各种滚动场景需求的插件。它的核心是借鉴的  iscroll 的实现,它的 API 设计基本兼容 iscroll,在 iscroll 的基础上又扩展了一些 feature 以及做了一些性能优化。
better-scroll 是基于原生 JS 实现的,不依赖任何框架。它编译后的代码大小是 63kb,压缩后是 35kb,gzip 后仅有 9kb,是一款非常轻量的 JS lib。
  •  使用方法

        安装方法

起步

better-scroll 最常见的应用场景是列表滚动,我们来看一下它的 html 结构

上面的代码中 better-scroll 是作用在外层 wrapper 容器上的,滚动的部分是 content 元素。这里要注意的是,better-scroll 只处理容器(wrapper)的第一个子元素(content)的滚动,其它的元素都会被忽略。

最简单的初始化代码如下

结合接口下拉刷新加载更多数据

6、fastclick插件:解决移动端click 300ms延迟

移动端项目中,在某些机型某些浏览器下,存在click事件300ms延迟的问题,影响用户满意度。原因是:从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 300 毫秒的等待时间,因为它想看看你是不是要进行双击(double tap)操作。

vue项目中,可以通过引入fastclick第三方依赖包来解决。

安装方法

使用方法

在main.js中

也可以直接下载fastclick.js,在相应页面直接引用。

7、手机前端开发调试利器 – vConsole

vConsole介绍:一个轻量、可拓展、针对手机网页的前端开发者调试面板。

移动端项目,由于在移动端进行调试。

使用方法如下

安装vConsole:

在main.js中引用并实例化

此时可以使用console.log

原理:改写了console.log,重写了实现,用vConsole代理

结果就会出现如图 浮动的按钮,点开之后,就可以看到里面的console信息了

8、webpack之proxyTable设置跨域

在平时项目的开发环境中,经常会遇到跨域的问题,尤其是使用vue-cli这种脚手架工具开发时,由于项目本身启动本地服务是需要占用一个端口的,所以必然会产生跨域的问题。在使用webpack做构建工具的项目中,使用proxyTable代理实现跨域是一种比较方便的选择。

proxyTable相关配置及使用说明

当我们用vue-cli构建项目时,需要在config/index.js文件中,找到dev对象下proxyTable对象进行跨域设置,配置如下

proxyTable配置的意思为:使用字符串"/api"来代替目标接口域名;如果接口地址为"user/getUserInfo",我们可以在所有的接口地址前面加上"/api/"用于设置代理;如:

如果你不想每次请求地址中都带有"/api/",则可以设置

表现结果为

另外一种情况是,我们不需要在每个接口地址前添加"/api/",只需要用接口本身的地址,不需要重新路径即可。如果接口为"/v2/cotton/get_app_list",使用"/v2"做代理;如下

9、vue组件之间通信

  • 父向子传递数据通过props
  • 子向父传递数据

子组件向父组件传递分为两种类型。
1、子组件改变父组件传递的props(你会发现通过props中的Object类型参数传输数据,可以通过子组件改变数据内容。这种方式是可行的,但是不推荐使用,因为官方定义prop是单向绑定
2、通过$on和$emit;即子组件中通过$emit()来触发事件;父组件中通过依附在组价元素上的:on方法来响应事件。

  • 非父子组件传递数据

通过使用一个空的Vue实例作为中央事件总线。

相邻组件1,通过$emit()传递数据

相邻组件2,通过$on()接收数据

10、ref特性的使用

 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的  对象上。

如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例

当  用于元素或组件的时候,引用信息将是包含 DOM 节点或组件实例的数组。

关于 ref 注册时间的重要说明:因为 ref 本身是作为渲染结果被创建的,在初始渲染的时候你不能访问它们 - 它们还不存在! 也不是响应式的,因此你不应该试图用它在模板中做数据绑定。

通过在引用的子组件上使用ref属性实现父组件调用子组件的方法及属性

在父组件中引用子组件并定义ref

调用定义在子组件中的方法show

11、vue中setTimeout的使用

在vue中使用setTimeout或者setInterval,如果按照在原来js的中方法,如

会发现data中定义的变量isFlag是获取不到的;解决方法如下

  • 用setTimeout通过es6语法,setInterval也是一样
  • 定义外部self来代替全局this

我们会发现利用例子的第一种方法,使用this来获取变量,会报错。这就是老生常谈的javascript 的this 的问题。 

因为用的一个function){} 这里的 独立的作用域 this指向了全局(这里是window)而且window里没有myFunc这个函数,所报了错。 
使用es6的->写法,this继承外部对象,this指向为vue实例,即(new Vue

12、监听鼠标滚动事件,实现头部悬浮效果

$nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,鼠标滚动事件需要通过window.addEventListener("scroll",'')进行监听。

13、vue上传图像

通过new FormData(),创建form对象,通过append向form对象添加数据。

html代码如下

14、vue,@click="event()",添加()与不添加()的区别

应该是 Vue 对函数调用表达式额外用了一个函数做了层包装。
加与不加括号的区别在于事件对象参数 event 的处理。

不加括号时,函数第一个参数默认为 event;加了括号后,需要手动传入 $event 才能获得事件对象。

项目实践:基于vue2.0 +vuex+ element-ui后台管理系统

后面会更新第二篇文章

  • VUX - Vue 移动端 UI 组件库的使用
  • vuex:vue状态管理工具详细入门
  • 百度地图api在vue项目中的使用:
  1.  vue2如何给地图添加房源覆盖物
  2.  如何给地图添加自定义定位控件并更换控件的图标
  3. 几个常用的api(地图缩放,拖拽,获取当前位置)等功能的实现
  • 微信api在vue项目中的使用
  1. vue2实现微信分享坑点和经验
  2. vue2实现微信支付坑点和经验
  • fetch封装接口的统一管理

 

 

 

 

    以上就是本篇文章【干货分享:vue2.0做移动端开发用到的相关插件和经验总结】的全部内容了,欢迎阅览 ! 文章地址:http://sjzytwl.xhstdz.com/xwnews/696.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://sjzytwl.xhstdz.com/mobile/ , 查看更多   
最新文章
SQL数据清洗:利用SUBSTRING和CHARINDEX处理无效字符
截取字符串 我们在做BI可视化之前,通常需要已经清洗干净的数据才能进行可视化分析。 随着电商的发展,有很多数据都
Python数据分析与展示
快讯:这是本课程第20次开课~~本课程是国家精品在线开放课程“Python网络爬虫与数据分析”的下半部分,欢迎大家加入学习!“我们
MacOS升级ruby版本
1. 历史与起源Bourne Shell (sh) ,即 Bourne Shell,是由 Stephen Bourne 在 1977 年开发的。它是最早的 UNIX Shel
SHOPYY:今天不聊亚马逊,我们只谈独立站
说到跨境电商平台,大部分人跟我一样,最先想到的就是亚马逊、eBay、速卖通、Wish这四大目前主流的平台。跨境电商卖家们借助平台
上外Blackboard在线建课问答第十二期(Q&A)
SISU上外Blackboard在线建课问答第十二期(QA)教师的个人课程列表中有一门《在线课程建设培训》,可自主学习相关资料。课程列表
uniapp开发H5拉起微信支付全流程(含H5获取用户code、openid方法)
这两天遇到一个需求就是开发微信公众号H5界面,需要点击支付按钮拉起微信进行支付。我自己觉得H5和小程序的支付流程还是有
一个月内三刷PB,吴艳妮发声
  澎湃新闻记者 祁东  仅用两周时间,吴艳妮又一次刷新自己的个人最好成绩(PB)。  吴艳妮一个月内三刷个人最好成绩。资
“用C语言实现计算功能”中,对比AI的程序,我的收获
最近写了一个用C语言实现计算功能的程序,已上传。运行截图:然后让文心一言也写了个程序:它只能计算例如3&#
【VS插件】学习笔记|AutoHistory:自动保存你的代码历史文件
你是不是曾经希望自己可以回滚一段你有修改过的工程的代码? 比如说,自己编写的一个程序原本是正常运行的、计算结
相关文章