使用mpvue开发小程序教程

从vue到mpvue再到微信小程序,这么几天下来感觉被搞晕了。三者之间的很多功能存在差异,项目也快接近尾声了,坑也踩了很多了,现在给后来的你们一点总结性经验:

1. 在模板中,动态插入HTML的v-html指令不可用

这条很好理解,小程序的界面并不是基于浏览器的BOM/DOM的,所以不能动态的在界面模板里直接插入HTML片段来显示。

题外话,如果有在小程序里插入html片段的需求怎么办?可以用<rich-text>组件或者wxParse(https://github.com/icindy/wxParse)来实现。

2. 在模板中,用于数据绑定的双括号语法{{}}中的表达式功能存在诸多限制

在Vue本身的模板内双括号语法中,我们可以对绑定变量进行比较丰富的处理,比如:

  • 可以调用methods下的函数, 例如:
<template>
  <div>{{ formatMessage(msg) }}</div>
</template>

<script>
export default {
  data() {
    return {
      msg: "Hello,World"
    }
  },
  methods: {
    formatMessage(str) {
      return str.trim().split(‘,‘).join(‘#‘)
    }
  }
}
</script>
  • 如果变量是对象的话,也可以调用对象的成员方法
<div>{{ msg.trim().split(‘,‘).join(‘#‘) }}</div>
  • 可以使用过滤器来处理变量,最有用的场景算是格式化数据了
<div>{{ msg | format }}</div>

以上这些好用的功能,在mpvue中,记得都是通通不能用的哦!!!

我们只能在双括号中使用一些简单的运算符运算(+ - * % ?: ! == === > < [] .

但是也得找些可用的替代方案呐,大伙先考虑使用计算属性(computed)来做吧。

3. 在模板中,除事件监听外,其余地方都不能调用methods下的函数

4. 在模板中,不支持直接绑定一个对象到styleclass属性上

5. 在模板中,嵌套使用v-for时,必须指定索引index

6. 事件处理中的注意点

// 左侧为WEB事件 : 右侧为对应的小程序事件
{
    click: ‘tap‘,
    touchstart: ‘touchstart‘,
    touchmove: ‘touchmove‘,
    touchcancel: ‘touchcancel‘,
    touchend: ‘touchend‘,
    tap: ‘tap‘,
    longtap: ‘longtap‘,
    input: ‘input‘,
    change: ‘change‘,
    submit: ‘submit‘,
    blur: ‘blur‘,
    focus: ‘focus‘,
    reset: ‘reset‘,
    confirm: ‘confirm‘,
    columnchange: ‘columnchange‘,
    linechange: ‘linechange‘,
    error: ‘error‘,
    scrolltoupper: ‘scrolltoupper‘,
    scrolltolower: ‘scrolltolower‘,
    scroll: ‘scroll‘
}

除了上面的之外,Web表单组件<input><textarea>的change事件会被转为blur事件。

7. 对于表单,请直接使用小程序原生的表单组件

一句话,表单组件又多又复杂,框架可能Hold不住。所以在实际开发中,推荐直接使用小程序的表单组件标签来写,而不是使用Web的表单组件标签来写。当然了,在mpvue中使用了小程序的组件标签,数据绑定功能还是完全可以用的。给个示例:

<template>
  <div>
    <picker @change="handlePickerChange" :value="selectedIndex" :range="messages">
      <view class="picker">当前消息:{{ messages[selectedIndex] }}</view>
    </picker>
  </div>
</template>

<script>
export default {
  data () {
    return {
      selectedIndex: 0,
      messages: [‘Hello‘, ‘World‘, ‘Haha‘]
    }
  },
  methods: {
    handlePickerChange (e) {
      console.log(e)
    }
  }
}
</script>

其他注意事项

另外,在Vue开发Web应用的时候,通常使用vue-router来进行页面路由。但是在mpvue小程序开发中,不能用这种方式,请使用<a>标签和小程序原生API wx.navigateTo等来做路由功能。

还有就是请求后端数据,我们通常在Web开发中使用axios等ajax库来实现,但是在小程序开发中也是不能用的,也请使用小程序的原生API wx.request等来进行。

原文链接:https://www.jianshu.com/p/579035fc9c18

原文地址:https://www.cnblogs.com/Webzhoushifa/p/9557243.html

时间: 2024-11-09 06:20:27

使用mpvue开发小程序教程的相关文章

使用mpvue开发小程序教程(二)

在上篇文章中,我们介绍了使用mpvue开发小程序所需要的一些开发环境的搭建,并创建了第一个mpvue小程序代码骨架并将其运行起来.在本文中,我们来研究熟悉一下mpvue项目的主要目录和文件结构. 在Visual Studio Code里面打开项目文件夹,我们可以看到类似如下的文件结构: firstapp ├── package.json ├── project.config.json ├── static ├── src │ ├── components │ ├── pages │ ├── ut

使用mpvue开发小程序教程(六)

在上一章节中,我们列举了在Vue中能用但在mpvue中不能用或需要特别注意的特性,在实际开发前了解一下还是很有必要的,可以避免浪费找错误的时间. 如果你使用过原生的小程序框架,你一定经历过或思考过怎么解决以下的问题: 怎么存放可全局访问的变量? 页面跳转的时候,怎么传递参数到下一个页面比较好? 页面返回上一页的时候,怎么传递当前页的数据到上一页? 多个页面间需要同步数据,怎么做比较好? 网上一搜,解决的方法通常也是五花八门的,什么通过app上的globalData啊.通过存取storage啊.通

全网首发mpvue课程小程序全栈开发视频课程 小程序实战教程 完整版

第1章 课程简介本章节介绍了课程概述,教学方式 ,还有小程序项目的演示. 第2章 原生小程序对原生小程序做一个入门的介绍,包括小程序帐号申请和开发工具安装和使用,小程序目录文件的讲解,再简单把小程序原生的组件和API过一下. 第3章 使用vuejs开发小程序本章节用一个todolist案例,带着vuejs入门,再用mpvue的方式重写这个案例,为实战项目开发打好基础. 第4章 koa2入门本章节讲解 koa2入门相关的基础知识点,为实战项目的服务器开发部分做准备,其中包括,使用koa2开发web

全网首发mpvue课程小程序全栈开发

第1章 课程简介 本章节介绍了课程概述,教学方式 ,还有小程序项目的演示. 第2章 原生小程序 对原生小程序做一个入门的介绍,包括小程序帐号申请和开发工具安装和使用,小程序目录文件的讲解,再简单把小程序原生的组件和API过一下. 第3章 使用vuejs开发小程序 本章节用一个todolist案例,带着vuejs入门,再用mpvue的方式重写这个案例,为实战项目开发打好基础. 第4章 koa2入门 本章节讲解 koa2入门相关的基础知识点,为实战项目的服务器开发部分做准备,其中包括,使用koa2开

全网首发mpvue课程 小程序全栈开发

第1章 课程简介本章节介绍了课程概述,教学方式 ,还有小程序项目的演示.1-1 课程简介1-2 github 获取源码1-3 github 桌面版简单管理代码1-4 git 命令行的使用1-5 mpvue 和 wepy 区别 第2章 原生小程序对原生小程序做一个入门的介绍,包括小程序帐号申请和开发工具安装和使用,小程序目录文件的讲解,再简单把小程序原生的组件和API过一下.2-1 原生小程序 - 小程序帐号和开发工具2-2 原生小程序 - 项目目录结构2-3 原生小程序 - 项目app.json

微信小程序教程汇总

目前市面上在内测期间出来的一些实战类教程还是很不错的,主要还是去快速学习小程序开发的整体流程,一个组件一个组件的讲的很可能微信小程序一升级,这个组件就变了,事实本就如此,谁让现在是内测呢.我们不怕,下面就推荐一些涵盖了大部分组件和API的实战项目类课程. 讲项目实战,主要是学习的小程序的开发思路,架构思路,组价稍带就过,不会的看文档喽,还有比官网文档更详细的教程咩. 我们小黄象社区为此录制三套实战类视频教程,实战项目快速学习小程序开发.另外社区专栏作家也贡献了优质的小程序教程专栏,下面已经列出.

微信小程序之微信登陆 —— 微信小程序教程系列(20)

简介: 微信登陆,在新建一个微信小程序Hello World项目的时候,就可以看到项目中出现了我们的微信头像,其实这个Hello World项目,就有一个简化版的微信登陆.只不过是,还没有写入到咱们自家的后台中而已. 新建一个Hello World项目,找到app.js文件打开,代码如下: app.js: App({ onLaunch: function () { //调用API从本地缓存中获取数据 var logs = wx.getStorageSync('logs') || [] logs.

跨端开发小程序

在微信小程序中,每个页面都是由.js..wxss..wxmk和.json四个部分构成,代码结构比较复杂.另外,由于对ES6语法和sass等css预处理支持的不友好,导致开发效率很低,所以早早就有用vue.js来开发小程序的框架,比如webpy和mpvue,但是基本都是单纯的开发微信小程序. 可是,随着微信小程序.网页H5.头条小程序.百度小程序.支付宝小程序.快运用.原生APP的增多,每个都独立开发的话,每个前端估计都要吐血了,所以,就出现了跨端开发的框架.现在基本对多端支持足够好的,就是tar

共享链模式开发小程序商城

微信里头的共享链是一款营销工具,解决实体店现有的营销方案难以刺激消费者.被电商的打压导致实体店的生意越来越难做.外卖成本越来越高等痛点."共享链"基于区块链技术理念而开发,以消费奖励的方式,让消费者重复消费,主动分享,持续关注.达到提升商家销量的目的.共享链模式开发小程序商城:151-1222-4001(微/电) 举例,顾客到某水果店购买商品后通过共享链支付成功后进入共享链小程序,该小程序里面会显示消费者的消费金额,奖励金额和已经到账金额,之后其他消费者也到该水果店消费,那共享链系统会