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

本文对比了Vue和微信小程序在指令、条件和列表渲染、事件绑定、数据绑定、样式单位、页面引入CSS、生命周期、组件通信、公共数据处理及路由参数获取等方面的差异,帮助开发者更好地理解和区分两者。
摘要由CSDN通过智能技术生成

好记性不如烂笔头,学过的知识不复盘,不经常使用就会记不清楚。之前工作中一直用的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: () => [],
    },
    }
//父组件
<toolbar :tableData="tableData"  /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值