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. 跟我一起学习和开发动态表单系统-前端用vue、elementui实现方法(3)

    基于 Vue.Element UI 和 Spring Boot + MyBatis 的动态表单系统前端实现解析 在现代企业信息系统中,动态表单是一种非常常见的功能.它可以根据业务需求灵活地调整表单结构 ...

  2. GUI自动化测试策略

    标签(空格分隔): GUI自动化策略 带你看看实际的大型全球化电商网站的 GUI 自动化测试如何开展.这场实战,我将从以下两个方面展开 试策略如何设计?这一点,我会根据亲身经历的实际项目,和你探讨 G ...

  3. 金蝶云·苍穹追光者开发大赛,点燃高校AI应用创新之火

    在 2024 年的政府工作报告中,"人工智能 +" 行动被提出,标志着人工智能成为推动我国新质生产力发展的关键力量.与此同时,今年的高考作文有一道题目也聚焦于人工智能,再次凸显了这 ...

  4. windows 安装fvm 安装使用FVM,管理多版本flutter

    背景:win10 1,先用clash代理powershell命令,解决网络问题 2.使用dart 安装FVM dart pub global activate fvm 3.安装后检查系统环境变量 3. ...

  5. MySQL ibdata1文件太大的解决办法

    在MySQL数据库中,如果不指定innodb_file_per_table=1参数单独保存每个表的数据,MySQL的数据都会存放在ibdata1文件里,时间久了这个文件就会变的非常大. 下面是参考网上 ...

  6. [oeasy]python0015_十六进制_hexadecimal_字节形态_hex函数

    ​ 十六进制(hexadecimal) 回忆上次内容 上次数制可以转化 bin(n)可以把数字转化为 ​​2进制​ binary 接收一个整数(int) 得到一个二进制数形式的字符串 ​ 编辑 数字在 ...

  7. ASP.NET Core 程序集注入(二)

    public void ConfigureServices(IServiceCollection services) { string strValue = Configuration.GetSect ...

  8. 一款.NET开源、跨平台的DASH/HLS/MSS下载工具

    前言 今天大姚给大家分享一款.NET开源(MIT License).免费.跨平台的DASH/HLS/MSS下载工具,并且支持点播和直播(DASH/HLS)的内容下载:N_m3u8DL-RE. 网络流媒 ...

  9. 【Java】Collection子接口:其一 List 列接口

    Collection子接口 其一:List接口List 接口存储结构:元素有序,且可重复,每个元素都有对应的索引根据索引获取容器元素 实现类有:ArrayList.LinkedList.Vector ...

  10. 大语言模型(LLM)运行报错:module ‘streamlit‘ has no attribute ‘chat_message‘

    参考: https://blog.csdn.net/weixin_45748921/article/details/134645308 问题在于版本不匹配,深究一下为什么各个版本软件不匹配,发现原因是 ...