uniapp和vue的区别
https://m.php.cn/article/481418.html
uniapp和vue的区别
uni-app可以编译到(头条,支付宝,微信,QQ,百度)小程序,安卓版,ios版,h5版。通过打包实现一套代码多端运行;vue在web上是为单页应用而生的,在app上,单页应用会卡死。
uni-app还有自动的框架预载,加载页面的速度更快。
组件/标签的变化
以前是html标签,现在是小程序标签。
- p 改成 view
- span、font 改成 text
- a 改成 navigator
- img 改成 image
- input 还在,但type属性改成了confirmtype
- form、button、checkbox、radio、label、textarea、canvas、video
这些还在。- select 改成 picker
- iframe 改成 web-view
- ul、li没有了,都用view替代
- audio 不再推荐使用,改成api方式,背景音频api文档
其实老的HTML标签也可以在uni-app里使用,uni-app编译器会在编译时把老标签转为新标签,比如把p编译成view。但不推荐这种用法,调试H5端时容易混乱。
除了改动外,新增了一批手机端常用的新组件
- scroll-view 可区域滚动视图容器
- swiper 可滑动区域视图容器
- icon 图标
- rich-text 富文本(不可执行js,但可渲染各种文字格式和图片)
- progress 进度条
- slider 滑块指示器
- switch 开关选择器
- camera 相机
- live-player 直播
- map 地图
- cover-view 可覆盖原生组件的视图容器
cover-view需要多强调几句,uni-app的非h5端的video、map、canvas、textarea是原生组件,层级高于其他组件。如需覆盖原生组件,比如在map上加个遮罩,则需要使用cover-view组件
除了内置组件,还有很多开源的扩展组件,把常用操作都进行封装,DCloud建立了插件市场收录这些扩展组件,详见插件市场
Js
因为uni-app的api是参考小程序的,所以和浏览器的js api有很多不同,如
- alert,confirm 改成 uni.showmodel
- ajax axios 改成 uni.request
- cookie、session 没有了,local.storage 改成 uni.storage
- vue-router没有了,改成了 uni.navigateTo
uni-app的js api还有很多,但基本就是小程序的api,把wx.request改为uni.request即可。
uni-app在不同的端,支持条件编译,无限制的使用各端独有的api,
uniapp自带路由和请求方式
uni.navigateTo 路由与页面跳转
uni.request 网络请求