首页 > 编程语言 >Vue与微信小程序开发时的区别

Vue与微信小程序开发时的区别

时间:2024-01-23 18:56:27浏览次数:26  
标签:绑定 vue -- 微信 程序开发 程序 Vue 组件 data

Vue与微信小程序开发时的区别

一,生命周期

vue:

跳转页面时,钩子函数都会被重新出发一次,每次进入页面所有得钩子函数都会被触发一次

小程序:

onload() 一个页面只会被加载一次,可以在 onl oad 中获取打开当前页面所调用的 query 参数。

onShow(): 每次打开页面都会调用一次。

二 、数据绑定

vue: 动态绑定属性时,在变量前面加冒号 :

<img :src="imgUrl">

小程序:不加冒号,给变量加{{}}

<img src="{{imgUrl}}">

三、事件的绑定与传值

--vue  @  v-on
<button @click="increment">+1</button> 
-- 小程序   bindtap
 <buuton bindtap="increment">+1</button>

事件处理

  • vue中阻止事件冒泡 用@click.stop
  • 小程序用 catchtap=‘’绑定事件,catchtap阻止事件冒泡。

四、绑定事件的传参

--vue 
<button @click="increment(1)">+1</button> 
//小程序   需要将参数作为属性值,绑定到元素上的data-属性上,然后在方法中,通过e.currentTarget.dataset.*的方式获取
<buuton bindtap="increment" data-num="1">+1</button>
// vue
methods:{
	increment(num) {
	console.log(num)
	}
}
// 小程序
increment(e) {
	let num = e.currentTarget.dateset.num
}

五、数据的绑定

vue: 使用v-mode指令来实现表单元素和数据的双向绑定,当表单元素或data中的绑定值发生改变时,另一端也会随之改变 其本质是两种操作,v-bind绑定一个value属性,v-on指令给当前元素绑定input事件

小程序: 没有vue当中的双向绑定功能,只能在表单中绑定事件,当发生改变时,触发事件,然后在方法中通过this.setData({key:value}),来赋值给data中的属性值

取值:

  • 在vue中直接this.idcard取值
  • 小程序中需要 this.data.password取值
-- vue
<input v-mode="idcard" placeholder="请输入帐号" />

-- 小程序
<input class="weui-input" password="true" value="{{password}}" placeholder="请输入密码" bindinput="passwordInput" />

// vue
data:{
	idcard: ''
}

// 小程序
data:{
	password: ''
},
passwordInput: function (e) {
  this.setData({
    password: e.detail.value
  })
},

六、动态绑定样式

vue:

<div :class="{{active: isActive}}">样式</div>

<div :class="[activeClass, errorClass]">样式</div>
<div :class="[isActive ? activeClass : '', errorClass]">样式</div>
<div :class="[{ active: isActive }, errorClass]">样式</div>

小程序:

<view class="{{active==isActive?'active':''}}"> 样式</view>

<view class="choose {{num==1?'active':''}}" data-num="1" bindtap="itemClick">样式</view>

七,数据显示隐藏

vue中,使用 v-if 和 v-show控制元素的显示和隐藏。

小程序中,使用 wx-if和 hidden控制元素的显示和隐藏。

八、循环

-- vue
<div v-for="(item, index) in list" :key="this">
	<span>{{item}}</span>
</div>
-- 小程序
<view wx:for="{{lists}}" wx:key="this" wx:for-item="item" wx:for-index="index">
	{{item}}
</view>

九、父子组件通信

vue

1.子组件的使用
在vue中,需要:

  1. 编写子组件
  2. 在需要使用的父组件中通过import引入
  3. 在vue的components中注册
  4. 在模板中使用
//子组件 bar.vue
 
<template>
 
  <div class="search-box">
 
    <div @click="say" :title="title" class="icon-dismiss"></div>
 
  </div>
 
</template>
 
<script>
 
export default{
 
props:{
 
    title:{
 
       type:String,
 
       default:''
 
      }
 
    }
 
},
 
methods:{
 
    say(){
 
       console.log('明天不上班');
 
       this.$emit('helloWorld')
 
    }
 
}
 
</script>
 
 
// 父组件 foo.vue
 
<template>
 
  <div class="container">
 
    <bar :title="title" @helloWorld="helloWorld"></bar>
 
  </div>
 
</template>
 
<script>
import Bar from './bar.vue'
export default{
data:{
    title:"我是标题"
 
},
 
methods:{
    helloWorld(){
        console.log('我接收到子组件传递的事件了')
    }
},
components:{
    Bar
}
</script>

小程序:

  1. 编写子组件
  2. 在子组件的json文件中,将该文件声明为组件
{
 
  "component": true
 
}
  1. 在需要引入的父组件的json文件中,在usingComponents填写引入组件的组件名以及路径
"usingComponents": {
 
    "tab-bar": "../../components/tabBar/tabBar"
 
  }
  1. 在父组件中,直接引入即可
<tab-bar currentpage="index"></tab-bar>

标签:绑定,vue,--,微信,程序开发,程序,Vue,组件,data
From: https://www.cnblogs.com/wszzj/p/17983150

相关文章

  • vue2 组件的使用
    基本使用写组件......
  • vue2项目使用jsencrypt.js实现分段加密解密
    安装:npminstall jsencrypt安装:npminstall js-base64组件:demo.vue<template></template><script>import{SM4Encrypt,SM4Decrypt}from'@/assets/des.js'importtestImportJsonfrom'@/assets/data.json'exportdefault{......
  • uniapp微信小程序接入高德地图SDK
    小程序地图SDK原理(注意:这一段要仔细看哦,很多人问我为什么你写的是高德地图SDK,却用的是腾讯地图,答案就在这里)微信小程序开发,可以使用地图组件map,来进行地图显示、定位、显示大头针等基本功能,具体可以看官方文档:微信小程序map组件。map组件只提供一些基本的“硬件”,还需要“大脑......
  • H5调起微信扫一扫
    uni-app:importjWeixinfrom'jweixin-module';  letallowUrl=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${WXappid}&redirect_uri=${encodeURIComponent(WXredirectUrl)}&response_type=code&scope=${WXscope}&state=STA......
  • VUE框架CLI组件化配置Router切换路由和保持路由状态和路由组件的销毁------VUE框架
    <template><div><MyHeader></MyHeader><div><h1>省份</h1><!--在默认的情况下,我们切换组件会导致原组件被销毁--><button@click="forward()">前进</button>......
  • vue-helper 点击跳转插件 在 methods里面互相调用函数,会产生两个函数definitions ,然后
    vue-helper点击跳转插件在methods里面互相调用函数,会产生两个函数definitions,然后就回弹出框让你选择原因:换了台电脑,又从新配置下vscode"editor.gotoLocation.multipleTypeDefinitions":"goto","editor.gotoLocation.multipleReferences":"goto","editor.got......
  • 微信小程序高度适配
    参考文章【微信小程序:用rpx和wx.getSystemInfoSync()来适配屏幕高度-CSDN博客】1.小程序的任何机型的宽度固定为750rpx;为了适配不同设备的高度可以通过下面的公式转化750/设备宽度=屏幕设置高度/设备高度所以自适应屏幕应该设置的高度=750*设备高度/设备宽度2.获取设备信......
  • 微信小程序-wx:key的作用为什么不能使用index
    wxml中的代码为<viewclass="swiperContent"><swiper indicator-dots="true"autoplay="true"><swiper-itemwx:for="{{bannerList}}"wx:key="bannerId"><imagesrc="{{ite......
  • Vue项目迁移小程序,实操干货分享
     今天就给大家分享“Vue项目转小程序”的实操干货。首先明确需求:开发者是想将已有的Vue项目转为小程序,在集成了 FinClip SDK的App中运行小程序,那这里我们就需要关注以下两个注意事项:Web项目是适合在手机等移动设备中运行的,屏幕已经兼容;H5项目的代码是前后端分离......
  • 浅析vue cli的webpack配置属性 devServer 详解 和 devServer.proxy 工作原理解析
    浅析vuecli的webpack配置属性devServer详解和devServer.proxy工作原理解析:https://blog.csdn.net/qq_47443027/article/details/125985081?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-125985081-blog-127746519.235^v......