用mpvue开发微信小程序基础知识

1. mpvue简介

mpvue是一个使用 Vue.js 开发小程序的前端框架。它基于 Vue.js 核心,将 Vue.js 语法和小程序的API进行了转换,从而实现了在小程序端使用Vue.js的开发体验。

1.1 为什么选择mpvue?

相比于原生的小程序开发,使用mpvue有以下几个优势:

易上手:mpvue支持Vue.js的大多数特性,并且API和语法与Vue.js保持高度一致,因此对于Vue.js开发者上手mpvue非常容易。

高效开发:mpvue支持使用Vue.js生态系统中的大量插件和工具,能够提高开发效率。此外,通过使用mpvue,可以采用组件化的开发方式,大大提升开发效率。

良好的维护和迁移性:mpvue允许在Vue.js Web项目和小程序之间共享大部分代码,从而提高了项目维护和代码迁移的便捷性。

1.2 mpvue基本使用

使用mpvue开发小程序需要安装mpvue-cli:

npm install -g vue-cli

安装后可以使用vue-cli命令初始化一个mpvue项目:

vue init mpvue/mpvue-quickstart my-project

初始化后即可在项目中使用Vue.js开发小程序。

2. mpvue与小程序的API转换

mpvue将Vue.js的语法与小程序的API进行了转换,因此我们可以在小程序中使用Vue.js语法进行开发,在此过程中mpvue会自动将Vue.js语法转换为小程序的API。

2.1 生命周期的转换

在mpvue中,生命周期函数和Vue.js保持一致,下面是mpvue中常用的生命周期和对应的小程序生命周期。

mpvue生命周期 小程序生命周期
onLoad 页面加载时触发
onReady 页面初次渲染完成时触发
onShow 页面显示时触发
onHide 页面隐藏时触发
onUnload 页面卸载时触发

2.2 单向数据绑定

在Vue.js中,我们可以使用v-model指令实现双向数据绑定,但是在小程序中并没有对应的API。因此在mpvue中,我们需要使用<input>组件的value属性和input事件来实现单向数据绑定。

<template>

<div>

<input :value="inputValue" @input="inputChange">

<p>{{ inputValue }}</p>

</div>

</template>

<script>

export default {

data () {

return {

inputValue: ''

}

},

methods: {

inputChange (event) {

this.inputValue = event.target.value

}

}

}

</script>

2.3 计算属性和侦听器

在mpvue中,计算属性和侦听器与Vue.js保持一致,但是需要注意的是,由于小程序的数据监听机制和Vue.js有所不同,因此在使用计算属性和侦听器时需要适当调整。

<template>

<div>

<p>我的名字是{{ name }}</p>

</div>

</template>

<script>

export default {

data () {

return {

firstName: '张',

lastName: '三'

}

},

computed: {

name () {

return this.firstName + this.lastName

}

},

watch: {

firstName (newVal, oldVal) {

console.log('firstName变化了', newVal, oldVal)

}

}

}

</script>

3. mpvue开发小程序的注意事项

3.1 样式问题

由于小程序的样式和普通Web开发有所不同,在使用mpvue开发小程序时需要注意以下几点:

小程序不支持使用外部的CSS样式文件,需要将CSS样式写在组件的style属性中。

尺寸单位需要使用小程序的特有尺寸单位rpx。

小程序的元素选择器不能使用通配符选择器(如 *)和属性选择器(如 [attr])。

3.2 组件问题

在使用mpvue开发小程序时,需要注意以下几点关于组件的使用:

组件名必须使用小写字母并使用连字符(如 my-component)。

组件的<template>只允许有一个根元素。

在使用组件时需要在components属性中注册该组件。

4. 总结

mpvue是一个非常好用的小程序前端框架,它的除了能够使用Vue.js的大部分特性外,还提供了非常便捷的小程序API转换功能,在小程序开发过程中能够提升我们的开发效率。在使用mpvue开发小程序时需要注意一些小程序和mpvue的差异性,同时在开发过程中根据具体情况进行调整。