前言:几年前初次使用vue开发前端时,当做第2个页面时,发里Page中的很方法与第1个页面一样,当时在想能不能像面向对象那样有类的继承概念,不过还是把第1个页面中的相同代码拷贝过去了。当做第3个Page时,发现还会有很多复用代码,实在忍无可忍了,找到了mixins。
Page中代码,说白了就是一个大的JSON,里面有属性、数据、方法等。mixins(混入),是vue中可复用,功能非常灵活的方式,经常做后端开发的伙伴,也可以将其理解为基类。
如何使用
1、定义:
我的习惯是将需要复用的代码定义一个文件夹(mixns)中,按不同的使用方法单独定义不同的文件,比如list.js定义一些有关列表展示的方法及数据,operation.js定义一些关于操作的方法,dialog.js定义一些有关弹窗的数据及方法等等。
2、引入
引入可以引入单个,也可以引入多个,视情况而定。引入后的方法及数据,在新的Page中相当于都有了,当然如果感觉数据或方法不能满足当前需要,也可以重写或重新定义,重写后会覆盖mixins中的相同方法和数据。这点也可以理解为基类中的方法与属性(protected),方法重写(重载)等等。
关于小程序编程中,有Behavior,有异曲同工之妙,有兴趣的可以查看具体的开发者文档。