1.子组件给父组件传值

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

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

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

d.获取子组件传递的值

2.绑定class,style样式(三元表表达式写法,经常会用到)

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

图1

这里的index,currIndex都是变量,通过判断他们两个是否相等,来决定tab栏的哪一项变色

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文件夹里面

图1

b.在项目的根目录里面里面有个App.vue,这个App.vue是全局的,也就是App.vue页面的style里面引入iconfont,,在页面的任何位置都可以直接使用

5.用npm下载的插件,和自己封装的插件,如何引用到自己的项目中?

a.如果是自己封装的插件,比如说自己封装的网络请http.js

在项目的根目录下的main.js中引入,具体如图1所示

注意:

*使用的是相对路径*

* 要绑定到vue的原生上面*

图1

因为这是全局的main.js,所以你可以直接在你要用的页面使用this.axios就可以获取到

b.如果使用npm下载的插件,

在项目的根目录下的main.js中直接引入,引入路径如图2所示,

注意:

*无需相对路径或绝对路径,直接写插件名字即可*

*调用的方法同其上*

图2

如果你只想某个页面需要使用那个插件,就无需引入到全局,只需在当前页面引入即可,如下所示important moment from 'moment';          //引入使用npm下载的

important  http from '../utils/http'            //引入自己封装的文件

6.mpvue中的created不是按需加载,而是一次性把所有页面的created都加载

最近发现一个棘手的问题,就是created

在vue中,created是按需加载,当我们进入某个页面,才会加载当前的created

在mpvue中,所有页面的created都是在页面渲染的一开始都一起加载出来

解决方法:使用mounted生命周期

弊端:小程序生命周期的onLoad,用户进入B页面,会触发onLoad,然后返回A页面,再进入B页面,不会触发onLoad

而mounted是用户每次进入页面, 都会执行,无论是否点击返回,反正各有利弊吧

Logo

前往低代码交流专区

更多推荐