博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mpvue小程序踩坑之旅
阅读量:7252 次
发布时间:2019-06-29

本文共 1596 字,大约阅读时间需要 5 分钟。

mpvue小程序

经过一段时间的项目立项,调研,公司大佬根据技术选型,开发成本,以及终端代码维护等综合考虑决定使用mpvue来开发小程序端的业务,微信公众号的项目也是选用的vue框架进行开发并且已经线上运行,因为小程序不支持dom操作,无法完全兼容公众号的代码,所以我们小程序端使用mpvue对原项目进行了一些修改。

mpvue框架搭建

小程序分为全局配置和页面配置 ,全局配置在app.json中配置 ## 全局安装 vue-cli$ npm install --global vue-cli## 创建一个基于 mpvue-quickstart 模板的新项目$ vue init mpvue/mpvue-quickstart my-project## 安装依赖$ cd my-project$ npm install##启动构建$ npm run dev复制代码

base:在微信开发者工具中需要 npm run build 导入dist文件目录下的wx文件夹,然后npm run dev 就可以热更新开发项目了

路由

由于小程序本身配置问题mpvue并不能像vue一些支持router配置,只能使用小程序自带的页面配置

我们在增加页面的时候需要在app.js文件中配置一下页面的路径,手动复制pages文件夹中文件并修改成你配置的文件名

base:当新添加文件后需要重新build,再启服务,不然调试没有效果

组件

组件的功能基本支持,这也是使用mpvue提升开发效率其中的一个比较不错的优点,但需要注意其中几点

1 import ** from **.vue。import引入组件的时候文件必须添加后缀名.vue否者组件引入之后页面不会渲染。
2 有些组件是不支持的例如:动态组件,自定义 render,和<scripttype="text/x-template">字符串模版等都不支持。(我的项目中没怎么用到这些,没有具体实践过)
原因很简单,因为小程序要预编译出 wxml。

页面跳转以及参数传递

因为没有路由文件的问题,页面跳转只能使用小程序原生Api来进行操作,小程序提供了他的一套规则,我目前只用到了俩种。

1 redirectTo:关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面,会销毁其他页面栈

wx.redirectTo({        url: `/pages/${type}/main?roomId=${this.roomId}`    }) 复制代码

2 navigateTo:留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。

wx.navigateTo({        url: `/pages/${type}/main?roomId=${this.roomId}`    }) 复制代码
{      "navigationBarTitleText": "首页",      "disableSwipeBack": true    }复制代码

自带返回icon页面title需要在当前页面文件夹的json文件里面配置上面的俩个字段

3 接受页面路径参数,在页面中添加onload方法默认option对象中就可以接收到页面路径的参数。

onLoad(option) {        this.roomId=option.roomId    }复制代码

filter 过滤器

因为小程序不支持dom操作所以mpvue无法集成vue的filter功能,好多数据操作只能在请求到数据之后根据业务需求在回调函数中对数据进行操作处理

转载于:https://juejin.im/post/5c7e3c9a6fb9a049c9666bcf

你可能感兴趣的文章
Subversion+Apache 安装配置文档
查看>>
从程序员到技术领导者
查看>>
squid的配置及应用
查看>>
Linux的基本配置
查看>>
java语言基础
查看>>
通过weblogic自带脚本正常关闭受管理服务器方法
查看>>
关于最近很火的安卓stagefright漏洞
查看>>
iOS开发那些事-iOS网络编程同步GET方法请求编程
查看>>
pycharm,vim,items2常用快捷键
查看>>
Flask blueprint蓝图按功能模块化架构实例
查看>>
数据支撑环境的改造
查看>>
ifconfig 命令用来查看和配置网络设备
查看>>
用 netstat 查看 TCP 网络状态详解
查看>>
JVM 调优总结:一些概念
查看>>
HTML5:使用Lawnchair库存储JSON
查看>>
如何设计秒杀系统
查看>>
屏蔽USB设备的几种方法
查看>>
zen cart 特价商品列表页中加入排序选择
查看>>
配置Pycharm4.5.4调试edX Devstack
查看>>
Nginx+Tomcat负载均衡配置
查看>>