mpvue常见问题总结,看看你有没有遇到(二)

1.子组件给父组件传值 a.先在子组件中定义事件,当触发这个事件后才开始传值


mpvue常见问题总结,看看你有没有遇到(二)
文章图片


b.当触发子组件中的事件后,使用$emit把传递事件名称和值给父组件,事件名称是自定义的


mpvue常见问题总结,看看你有没有遇到(二)
文章图片


c.父组件在页面子组件的模板上定义事件,名称是子组件传过来的名字


mpvue常见问题总结,看看你有没有遇到(二)
文章图片
d.获取子组件传递的值


mpvue常见问题总结,看看你有没有遇到(二)
文章图片
2.绑定class,style样式(三元表表达式写法,经常会用到)

在项目中经常会遇到如图1,点击tab栏,当前点击的颜色其他的不变色,就免不了使用三元表达式写法


mpvue常见问题总结,看看你有没有遇到(二)
文章图片
图1 这里的index,currIndex都是变量,通过判断他们两个是否相等,来决定tab栏的哪一项变色


mpvue常见问题总结,看看你有没有遇到(二)
文章图片
3.获取textarea中的值 vue必须借助事件的 event 对象 的 currentTarget 才能获取事件对象
a.第一步


** 必须在事件中传递$event
b.第二部
getChange(e){
console.log(e)
}
** 打印e,可以获取到你动要的值
4.在mpvue中引入字体图标iconfont a.先去iconfont官网下载你要的字体图标 http://www.iconfont.cn/
注意必须留如下图1的四个文件,其他的都可以删除,如果你只留下iconfont.css文件,其他的都删除,就会报错
然后把这个文件夹放到项目的static文件夹里面
【mpvue常见问题总结,看看你有没有遇到(二)】

mpvue常见问题总结,看看你有没有遇到(二)
文章图片
图1 b.在项目的根目录里面里面有个App.vue,这个App.vue是全局的,也就是App.vue页面的style里面引入iconfont,,在页面的任何位置都可以直接使用


mpvue常见问题总结,看看你有没有遇到(二)
文章图片

5.用npm下载的插件,和自己封装的插件,如何引用到自己的项目中? a.如果是自己封装的插件,比如说自己封装的网络请http.js
在项目的根目录下的main.js中引入,具体如图1所示
注意:
*使用的是相对路径*
* 要绑定到vue的原生上面*


mpvue常见问题总结,看看你有没有遇到(二)
文章图片
图1 因为这是全局的main.js,所以你可以直接在你要用的页面使用this.axios就可以获取到
b.如果使用npm下载的插件,
在项目的根目录下的main.js中直接引入,引入路径 如图2所示,
注意:
*无需相对路径或绝对路径,直接写插件名字即可*

*调用的方法同其上*
mpvue常见问题总结,看看你有没有遇到(二)
文章图片
图2

如果你只想某个页面需要使用那个插件,就无需引入到全局,只需在当前页面引入即可,如下所示
important moment from 'moment'; //引入使用npm下载的
importanthttp from '../utils/http'//引入自己封装的文件
6.mpvue中的created不是按需加载,而是一次性把所有页面的created都加载 最近发现一个棘手的问题,就是created
在vue中,created是按需加载,当我们进入某个页面,才会加载当前的created
在mpvue中,所有页面的created都是在页面渲染的一开始都一起加载出来
解决方法:使用mounted生命周期
弊端:小程序生命周期的onLoad,用户进入B页面,会触发onLoad,然后返回A页面,再进入B页面,不会触发onLoad
而mounted是用户每次进入页面, 都会执行,无论是否点击返回,反正各有利弊吧


mpvue常见问题总结,看看你有没有遇到(二)
文章图片

    推荐阅读