## 什么是mpvue ##

- 美团开发使用vue语法开发小程序的前端框架
- 适用于vue语法开发
- 会调用部分小程序API

## 创建mpvue项目 ##

1. 必须安装node.js
2. 安装vue脚手架npm install -g vue-cli
3. 创建项目,找到项目目录运行:vue init mpvue/mpvue-quickstart mympvue01
4. cd到项目目录安装依赖modules: cnpm i
5. 在项目下运行npm run dev就可以将项目转化为小程序项目,自动生成一个小程序目录格式的dist文件夹

## 关联微信开发工具 ##

设置微信开发工具打开mympvue01,由于配置文件已经配置好了上传dist目录,所以在微信开发工具中上传代码只会上传dist目录

## mpvue目录解析 ##

#### src目录解析 ####

- component、pages、utils、目录与小程序中意义相同
- tips:小程序utils目录用于存放公共的方法,每个page都能调用
- App.vue,等同于小程序app.js和app.wxss
- main.js,相当于app.json

#### pages/index目录解析 ####

- index.vue 对应微信目录下index.js、index.wxml、index.wxss
- main.js  固定写法,类似配置

#### 创建一个page目录 ####

1. 在src目录下创建user目录
2. 在user目录下创建index.vue文件
3. 在user目录下创建main.js配置文件
4. 在src/main.js文件中配置pages路径

#### 项目appid配置 ####

-project.config.json 配置项目的appid等信息

### tips:index.vue文件必须增加export暴露数据不然打包会卡主###

<template>
        <div>{{msg}}</div>
    </template>
    <script>
        export default{
            data(){
                return{msg:'这是一个组件'}
            }            
        }
    </script>

## 配置底部tab切换,引入图片,请求数据 ##

#### 在pages/index.vue中引用图片 ####

先在static目录下创建images目录存放图片
    <img src="../../../static/images/icon.png"/>

#### 在main.js中配置bar ####

{
         “pages”:[ //配置目录信息
                 “pages/index/main”, 
              “^pages/logs/main” //^表示显示此路径为首页
                ],
           “window”:{ //窗口样式
             “backgroundTextStyle”:”Light”,
             “navigationBackgroundColor:”#fff”,
             “navigationBarTitleText”:”WeChat”,
            “navigationBarTextStyle”:”black”
            },
    
         "tabBar": {  //底部菜单栏配置
               “color”:”#333”, //字体颜色
              "list": [{
                  "pagePath": "pages/index/main",
                 “iconPath”:"static/images/icon.png",
                 "text": "首页"
             }, {
                  pagePath": "pages/logs/logs",
                  "text": "日志",
               }] 
           },
    }

#### 请求数据 ####

使用wx.request,微信小程序的api请求数据,请求接口必须为https,如果不为https可以在微信开发者工具中点击详情设置

#### 页面跳转 ####

使用wx.navigateTo(url),微信API跳转

#### 获取其他页面url传递过来的参数 ####

onLoad:function    (options){ //与小程序一致
        console.log(options)
    }

#### 解析html ####

1.直接使用vue的语法,v-html解析即可,但是会存在标签解析错误
2.使用mpvue-wxparse解析html

//引用wxparse
    <wxParse :content="list.xxx"/> //引入显示组件
    <script>
        import wxParse from 'mpvue-wxparse'
        export default{
            data(){
                return{list:[]}
            },
            components:{ //注册组件
                wxParse
            }            
        }
    </script>
    <style> //引入css样式
        @import url("~mpvue-wxparse/src/wxParse.css")
    </style>

3.使用过程中若本地图片真机未能显示,需要将图片地址换成https访问即可

## 使用小程序原生组件 ##

小程序原生组件中的事件需要使用vue语法编写:以scroll-view为例
 //原生写法
 <scroll-view bindscrolltolower="lower"></scroll-view>
 //mpvue写法
 <scroll-view @scrolltolower="lower"></scroll-view>

 //绑定事件的获值由原生的event.detail 变为event.mp.detail

## 页面间参数传递 ##

- 通过 this.$root.$mp.query 进行获取小程序在 page onLoad 时候传递的 options
- 通过 this.$root.$mp.appOptions 进行获取小程序在 app onLaunch/onShow 时候传递的 options
- 使用 this.$root.$mp.query 获取参数需要在mounted中获取,在created中会报Cannot read property 'query' of undefined

mpvue基本使用的更多相关文章

  1. 用Vue.js开发微信小程序:开源框架mpvue解析

    前言 mpvue 是一款使用 Vue.js 开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程 ...

  2. 使用mpvue开发微信小程序

    更多内容请查看 我的新博客 地址 : 前言 16年小程序刚出来的时候,就准备花点时间去学学.无奈现实中手上项目太多,一个接着一个,而且也没有开发小程序的需求,所以就一拖再拖. 直到上周,终于有一个小程 ...

  3. mpvue小程序开发之 iconfont图标引入

    背景: mpvue进行小程序项目开发时候,会有很多图标需求,但是小程序官方提供的icon图标库实在有限而且也不利于调样式,所有想到和之前前端项目一样引入iconfont. 图标加入购物车及项目 下载到 ...

  4. mpvue小程序开发之 wx.getUserInfo获取用户信息授权

    一.背景 在使用美团的mpvue2.0框架搭建起小程序项目后,做获取用户信息时遇到一些问题:微信小程序更新api后,获取用户信息只能通过button上的绑定方法 来获取用户信息,vue上方法绑定不能直 ...

  5. 一套代码小程序&Web&Native运行的探索07——mpvue简单调研

    前言 接上文:[一套代码小程序&Native&Web阶段总结篇]可以这样阅读Vue源码 最近工作比较忙,加之上个月生了小孩,小情人是各种折腾他爸妈,我们可以使用的独立时间片不多,虽然这 ...

  6. mpvue学习笔记-之微信小程序数据请求封装

    简介 美团出品的mpvue已经开源出来很久了,一直说要进行一次实践,这不最近一次个人小程序开发就用上了它. 看了微信官方的数据请求模块--request,对比了下get和post请求的代码,发现如果在 ...

  7. mpvue——仿QQ【一】

    前言 原生仿QQ https://github.com/wangyang0210/Imitate-QQ-For-Mini-Program 这个是当时学习小程序时,模仿的一个demo,只不过是纯页面没啥 ...

  8. 微信小程序----没有 DOM 对象,一切基于组件化 ---- mpvue

    封装好用的 类库 和 组件,复用且灵活度高 抽取相同的部分放在函数内部(组件内部) 抽取不同的部分放在形参(组件 props 传参,或者插槽) new Promise 运行时 初始化实例对象的状态为 ...

  9. 使用mpvue开发小程序教程(一)

    前段时间,美团开源了mpvue这个项目,使得我们又多了一种用来开发小程序的框架选项.由于mpvue框架是完全基于Vue框架的(重写了其runtime和compiler),因此在用法上面是高度和Vue一 ...

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

    在上篇文章中,我们介绍了使用mpvue开发小程序所需要的一些开发环境的搭建,并创建了第一个mpvue小程序代码骨架并将其运行起来.在本文中,我们来研究熟悉一下mpvue项目的主要目录和文件结构. 在V ...

随机推荐

  1. GET TIME

    基本形式 GET TIME [FIELD tim]. オプション: ... FIELD tim 機能 FIELD オプションを使用しない場合. 日付および時刻のシステム項目 sy-datlo.sy-d ...

  2. 局域网访问不到linux下的tomcat

    问题描述: CentOS安装完成Tomcat后,访问本地:http://localhost:8080/正确.但局域网内无法访问,而且服务器可ping通 经查原因为防火墙开启: [root@localh ...

  3. struts2官方 中文教程 系列八:异常处理

    在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴 ...

  4. Dubbo原理及配置

    技术交流群:233513714 Dubbo的背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进 ...

  5. 你真的了解React吗

    https://zhufengzhufeng.github.io/zhufengreact/index.html#t21.%E4%BB%80%E4%B9%88%E6%98%AFReact?

  6. .NET中调用不安全代码

           .NET中是不允许不安全的代码的,比如指针等.但有些特殊场合还是需要用到指针,这时候就需要在你的代码块上加上unsafe标签.如: 1: unsafe static void Main( ...

  7. 牛客 小a与星际探索

    链接:https://ac.nowcoder.com/acm/contest/317/C来源:牛客网 小a正在玩一款星际探索游戏,小a需要驾驶着飞船从1号星球出发前往n号星球.其中每个星球有一个能量指 ...

  8. 信号处理是Unix和LInux系统为了响应某些状况而产生的事件

    信号处理是Unix和LInux系统为了响应某些状况而产生的事件,通常内核产生信号,进程收到信号后采取相应的动作. 例如当我们想强制结束一个程序的时候,我们通常会给它发送一个信号,然后该进程会捕捉到信号 ...

  9. 常见 SQL语句使用 增删改查

    一.常见的增删改查(一).查:1.SELECT 列名称 FROM 表名称,其中列名可以是多个,中间用豆号分开,如SELECT LastName,FirstName FROM Persons: 2.SE ...

  10. BZOJ 3809 Gty的二逼妹子序列 莫队算法+分块

    Description Autumn和Bakser又在研究Gty的妹子序列了!但他们遇到了一个难题. 对于一段妹子们,他们想让你帮忙求出这之内美丽度∈[a,b]的妹子的美丽度的种类数. 为了方便,我们 ...