vue与微信小程序的写法对比

好记性不如烂笔头,学过的知识不复盘,不经常使用就会记不清楚。之前工作中一直用的vue,遇到新的项目需要做微信小程序,发现有很多相似之处,容易混淆;做个笔记对比着记更容易一些

第一、指令

  • vue中都是"v-"开头,例如v-for,v-if,v-html
  • 小程序中都是“wx:”开头,例如wx:for,wx:if

第二、条件和列表渲染区别

  • vue中写法:v-if=“”,v-else-if=“”,v-else=“”,v-show,v-for=“(item,index) in list”
  • 小程序中:wx:if=“”,wx:elif=“”,wx:else=“”,hidden,wx:for=“{ {list}}”,wx:for-item=“item”,wx:for-index=“index”

第三、事件绑定的方式不同

  • vue中事件绑定:@click=“”,on:click=“”,@change=“”,on:change=“”,以@开头或者’on:’
  • 小程序中事件绑定:bindtap=“”,bindinput=“”,bindchange=‘’,无法在小程序中的事件直接传递参数
    而是通过自定义属性data-来传递参数,然后在事件源e中拿到这个参数
//错误
<button bindtap="handlePlue(1)"></button>
<button bindtap="handlePlue(-1)"></button>
//正确
<button bindtap="handlePlue" data-operation="{
    {1}}">+</button>
<button bindtap="handlePlue" data-operation="{
    {-1}}">_</button>
  handlePlue(e){
   
    console.log(e)
    const opera = e.currentTarget.dataset.operation
    this.setData({
   
      num:this.data.num +opera
    })
  },

在这里插入图片描述

第四、数据绑定

-vue 使用v-model进行双向数据绑定

<input v-model="sss">

-小程序中使用setData(在自定义组件中触发双向绑定更新只能用setData),或者简易的数据双向绑定`

<input model:value="{
    {sss}}">`
<input type="text" bindinput="handleInput"/>
<view>{
  {num}}</view>`  

handleInput(e){
    console.log(e)
    this.setData({
      num:e.detail.value
    })

第五、wxss的单位rpx和px关系

  • px换算成rpx 750/屏幕尺寸
  • rpx换算成px 屏幕尺寸/750

第六、页面中引入css

  • vue中scope参数可选
<style src="./style.css" />
  • 小程序中使用@import相对路径导入
@import ‘./style.css’;

第七、生命周期

  • vue的生命周期
    在这里插入图片描述
  • 小程序的生命周期
    1.页面onResize()生命周期,可在页面.json文件中全局app.json文件中配置,横屏
    2.页面onTabItemTap()生命周期,只能在tabBar的页面上使用并且只能是点击自己的tab item时触发
{
	"pageOrientation":"auto"
}

在这里插入图片描述
3.组件的生命周期
在这里插入图片描述

第八 、组件间的通信方式

  • vue
    1.父组件给子组件传值,在子组件props中定义,在父组件中传入值
//子组件
props: {
   
    tableData: {
   
      default: () => [],
    },
    
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# 项目特点 - 前台参考"Hexo"的"Butterfly"设计,美观简洁,响应式体验好。 - 后台参考"element-admin"设计,侧边栏,历史标签,面包屑自动生成。 - 采用Markdown编辑器,写法简单。 - 评论支持表情、GIF动图输入回复等,样式参考Valine。 - 前后端分离部署,适应当前潮流。 - 接入第三方登录,减少注册成本。 - 留言采用弹幕墙,更加炫酷。 - 支持代码高亮和复制,图片预览,深色模式等功能,提升用户体验。 - 搜索文章支持高亮分词,响应速度快。 - 新增文章目录、推荐文章等功能,优化用户体验。 - 新增在线聊天室,支持撤回、语音输入、统计未读数量等功能。 - 新增aop注解实现操作日志功能。 - 支持动态权限修改,采用RBAC模型,前端菜单和后台权限实时更新。 - 后台管理支持修改背景图片,博客配置等信息,操作简单,支持上传相册。 - 代码支持多种搜索模式(Elasticsearch或MYSQL),支持多种上传模式(OSS或本地),可支持配置。Elasticsearch占内存较高,如果服务器配置太低,不建议使用。 - 新增网站导航功能,页面优雅美观。可自行添加自己常用的网站进行分类和排序。 - 新增聊天管理功能,方便清理垃圾聊天内容。 - 新增登录日志功能,随时查看用户的登录信息。 - 前台页面重新布局重构,页面布局更加简洁,首页加载速度更快。 - 前台首页文章列表顶部新增滚动消息,超级炫酷。 - 新增了监控用户是否授权的功能、增加了用户的体验性。 - 增加图片删除后也将该路径的图片删除的功能、大大提高了文件存储的利用率。 - 将接口进行**axios**二次封装、更利于接口的请求和响应。 - 新增本博客配套的**微信小程序**,可随时用手机浏览文章。并且接入微信登录,减少注册成本。 - **微信小程序**新增每日新闻热搜功能、可随时查看热搜。 - 新增本博客配套的**App**,同时接入qq、微博登录,使用更加方便。 - 代码遵循阿里巴巴开发规范,利于开发者学习。 ## 技术介绍 **前端:** vue + vuex + vue-router + axios + vuetify + element + echarts + uniapp + uview + Html + Css + JavaScript **后端:** SpringBoot + nginx + docker + SpringSecurity + Swagger2 + MyBatisPlus + Mysql + Redis + elasticsearch + RabbitMQ + MaxWell + Websocket **其他:** 接入QQ,微博、微信第三方登录,接入腾讯云人机验证、websocket ## 运行环境 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值