uni-app和vue的区别
1、目录不同

uni-app目录依赖原生小程序风格,比如分包的概念

vue中对不同的页面只需要在views文件夹中定义不同组件,然后配置路由跳转就行了,所有页面都是这样,

而uni-app只有底部导航栏对应的几个页面才能定义在pages文件夹下,其余的页面都需要定义在subpkg文件夹下

2、对页面之间跳转的路由配置不同

uni-app在package.json文件中对底部导航栏页面和其他分包页面的路由进行配置

而vue统一在router文件夹下进行路由配置,且文件夹名没有限制

3、页面使用的标签不同

uni-app标签使用小程序使用的<view></view>、<block></block>等

uni-app中的部分标签是已经封装好了的功能,例如<swiper>轮播图标签,<scroll>滚动标签,只需要使用这些标签就可以实现对应功能

而vue中轮播图功能需要引入组件库使用组件库提供的标签或者自己通过很多代码来实现,滚动功能vue中需要使用better-scroll插件来实现,引入插件之后实现滚动功能包括监听滚动事件,实现上拉刷新等

4、生命周期函数不同

uni-app使用onLoad()等生命周期函数,且生命周期函数分为三类,而vue一套生命周期函数通用

5、一部分api不同

比如uni-app使用uni.$navigateTo()等进行页面的跳转,而vue使用this.$router.push()等进行跳转

6、接收路由传递参数方式不同

uni-app统一在onLoad(options)生命周期函数中携带的options参数获取路由传递的参数,

而vue通过this.$route.query获取路由参数

7、对组件挂载配置不同

vue生成的组件都要在使用的父组件身上引用定义成为局部组件,也可以在main.js中挂载成为全局组件

而uni-app只需要在components文件夹下新建组件文件,不需要进行任何挂载,直接使用就行了,组件使用的名字就是components文件夹里定义组件的文件名

8、css样式适配单位不一样

小程序使用rpx进行适配,vue使用rem/vm进行适配

9、用户登录操作的步骤不一样

vue:获取用户的用户名和密码等直接发送请求从后端获取数据和token信息完成登录

小程序:需要先进行微信通过uni.getUserProfile拉取用户信息,然后再调用uni.login()获取登录凭证code,最后才能通过前面两步获取到的参数向服务器发送请求获取token信息完成登录

uni-app和微信小程序的区别

 

1、页面标签 基本相同

view,text、scroll-view,input、picker、swiper等等

2、api基本相同,wx换成uni即可

原生写法:wx.request、wx.showModal、wx.showToast、wx.showLoading、wx.chooseImage、wx.switchTab、wx.navigateTo、wx.setStorageSync等等

uniapp写法:uni.request,uni.showModal、uni.showToast、uni.showLoading、uni.chooseImage、uni.switchTab、uni.navigateTo、uni.setStorageSync等等

3、生命周期函数相同

onLoad,onShow,onPullDownRefresh、onReachBottom、onShareAppMessage等等

点击事件写法不同

原生小程序是bindtap

<image bindtap="preview"></image>

uniapp是@click

<image @click="preview"></image>

传参方式不同

原生写法是data-xxx

<image bindtap="preview" data-src = '{{item.src}}' ></image>

  preview(e) {
   console.log( e.currentTarget.dataset.src)
  },

uniapp写法

<image @click="preview(item.src)" ></image>

  preview(src) {
   console.log(src)
  },
 
input的value值绑定并监听
原生写法是    <input value='{{sex}}' bindinput='jianting'></input>
jianting(e){ //实时监听
console.log(e.detail.value)
}
 
uniapp写法是 <input v-model='sex'></input>
 
属性绑定
 
原生写法是   <image src='{{src}}' ></image>
uniapp写法是 <input :src='src'></input>
 
更新视图方法
 
原生写法

 this.setData({
      data: 1
    })
 
uniapp写法是 this.data = 1
 
列表循环
 原生写法 <view class="flexcost mtb30" wx:for="{{list}}" wx:key='item.goodsOrderId' >{{item.name}}</view> //默认是item
 uniapp写法 <view v-for="(item, index) in list" :key="item.goodsOrderId">{{item.name}}</view>

uni-app和vue及微信小程序的异同的更多相关文章

  1. 只会Vue怎么开发小程序?vue和微信小程序的到底有哪些区别?

    写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别. 一.生命周期 先贴两张生命周期图对比下: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多. v ...

  2. 使用Vue开发微信小程序:mpvue框架

    使用Vue开发微信小程序:mpvue框架:https://www.jianshu.com/p/8f779950bfd9

  3. 学了这么久,vue和微信小程序到底有什么样的区别?

    前言 写了vue项目和小程序,发现二者有许多相同之处,在此想总结一下二者的共同点和区别.相比之下,小程序的钩子函数要简单得多. 一.生命周期 先贴两张图: vue生命周期 小程序生命周期   相比之下 ...

  4. vue和微信小程序的区别、比较

    链接:https://segmentfault.com/a/1190000015684864 一.生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多. vue ...

  5. uni-app - vue以及微信小程序

    uni-app结合了mpvue的优点以及微信小程序的优点 ,uni-app基于vue2.0的. 组件:https://uniapp.dcloud.io/component/README 接口:http ...

  6. taro + iview 实现跨平台开发(App,Wap,微信小程序)

    1.安装 (1)安装脚手架 npm install -g @tarojs/cli taro init myApp (2)H5端运行 npm run dev:h5 taro build --type h ...

  7. Spring Boot后端+Vue前端+微信小程序,完整的开源解决方案!

    项目简介 一个小商场系统,包括: 后端:Spring Boot 管理员前端:Vue 用户前端:微信小程序 功能介绍 1.小商城 首页 专题列表.专题详情 分类列表.分类详情 品牌列表.品牌详情 新品首 ...

  8. vue过滤器微信小程序过滤器和百度智能小程序过滤器

    因为最近写了微信小程序和百度小程序,用到了过滤器,感觉还挺好用的,所以就来总结一下,希望能帮到你们. 1. 微信小程序过滤器: 1.1:首先建一个单独的wxs后缀的文件,一般放在utils文件夹里面. ...

  9. Vue和微信小程序区别

    一.生命周期 先贴两张图: vue生命周期 小程序生命周期 相比之下,小程序的钩子函数要简单得多. vue的钩子函数在跳转新页面时,钩子函数都会触发,但是小程序的钩子函数,页面不同的跳转方式,触发的钩 ...

  10. vue 开发微信小程序

    介绍 mpvue (github 地址请参见)是一个使用 Vue.js 开发小程序的前端框架.框架基于 Vue.js 核心,mpvue 修改了 Vue.js的 runtime 和 compiler 实 ...

随机推荐

  1. 基于RK3588的8K视频解码显示案例分享!引领超高清工业视频时代

    8K.4K.2K显示对比 2K分辨率:也称为全高清(FULL HD),它具有1920 x 1080像素的分辨率.这是目前大多数消费者电视和电脑显示器的标准分辨率,可以提供良好的图像质量. 4K分辨率: ...

  2. 基于NXP i.MX 8M Mini开发板规格书(四核ARM Cortex-A53 + 单核ARM Cortex-M4,主频1.6GHz)

     1 评估板简介 创龙科技TLIMX8-EVM-B是一款基于NXP i.MX 8M Mini的四核ARM Cortex-A53 + 单核ARM Cortex-M4异构多核处理器设计的高性能评估板,由核 ...

  3. SpringBoot 1.x 2.x配置文件指定服务项目名

    SpringBoot版本1.x: server.context-path=/demo SpringBoot版本2.x: server.servlet.context-path=/demo

  4. 使用Selenium爬取动态网页

    1.使用Selenium爬取动态网页 In [ ]: from selenium import webdriver driver = webdriver.Chrome() driver.get('ht ...

  5. c++ primer 第五版随笔

    1.what is std::endl ? for example, std::cout << "hello world" << std::endl; st ...

  6. 2022 开源之夏 | Curve 邀你与中国存储软件共成长,赢万元奖金

    Curve 社区携手开源之夏,邀你开展有趣而精彩的开源之旅,直面社区大咖,积累项目经历,摘取丰厚奖金,共同推进我国基础软件自主创新 2022 年,Curve 社区再次加入系列高校开源活动 -- 开源之 ...

  7. [oeasy]python0 113_字符编码_VT100控制码_iso_8859_1_拉丁字符_latin

    拉丁字符 回忆上次内容 上次回顾了字型编码的进化过程 7-bit 的 点阵字库 终于让 字母.数字.标点 明确了字型     但是 7-bit 的 ascii中 没有法文字符的位置   ​   添加图 ...

  8. 学习笔记--Java中方法递归调用

    Java中方法递归调用 public class RecursionTest01{ public static void main(String[] args){ System.out.println ...

  9. Jmeter二次开发函数 - 将指定时间转换为时间戳

    1.达到效果:在jmeter的函数助手增加一个"timeStamp"函数,调用"timeStamp"函数可以将用户传入的时间转换为时间戳. 2.eclipse项 ...

  10. 【Mybatis-Plus】04 AR (Active Record)

    AR模式,全称激活记录 具体操作更接近Hibernate一样的OOP操作方式影响数据库记录 比Hibernate操作更灵活更方便 上手: 首先User实体类需要继承Model类并泛型注入User类型 ...