GeXiangDong

精通Java、SQL、Spring的拼写,擅长Linux、Windows的开关机

0%

小程序和VUE.js语法差异

本文不是为了比较双方优劣,是因为我经常在两类项目中切换,有时搞混,列出来方便自己记忆和速查。

对比项目 微信小程序 VUE.js
模版内显示变量
模版中元素属性使用变量 view class=”“ div :class=”var”
元素事件捕获 bindtap=”userClicked” @click=”userClicked”
给事件处理函数传递变量 在元素上写 data-varname=”“, js中用 event.target.dataset.varname获取 @click=”userClicked(var1, var2)”,直接写在方法名后,和调用相同
事件处理函数中获取event 方法可接收的唯一参数就是event @click=”userClicked($event)” 在模版中写上特殊变量 $event
阻止事件向父级元素传递 bindXxx改为catchXXX,例如:catchtap=”userclicked” 用.stop 例如: @click.stop=”userClicked” 或者@clicked.stop表明不处理直接阻止
模版内调用JS方法 只能调用wxs内声明的方法 可以直接调用vue内method段声明的方法
页面生命周期事件 onLoad created
onShow mounted
script部分方法 直接写在Page内和onload同级 写在methods部分下,methods和created同级
script部分对data的访问 this.data.xxx this.xxx
component中对props内属性访问 this.properties.xxx this.xxx
data 部分 可在程序中随时增加 先在data中声明,不声明的,动态增加 模版部分也不能使用
模版引用data遇到null 无显示或显示NULL 异常出错
模版内循环 wx:for=”array” wx:key=”index” wx:item=”item” v-for=”(item, index) in array” :key=”index”
模版内虚拟元素 block template 在v-for上应用时,需要把:key 应用与所有一级子元素并保持key唯一
自定义组件 created 方法不能调用 setData,(可用attached事件替代部分) created 方法可以使用this ,能改变data内数据