vue 列表 mixin
哪些需要提取
项目里用的 UI 库是 Element UI
。一个列表页从 UI 表现来看上至下通常包含这么几部分:筛选栏,列表,分页。在 vue
单文件组件中看的话,主要是模板区和 js
区,项目里列表页一般是统一风格,所以公共样式不会写在列表组件里。首先模板部分我认为是不需要提取出来的,一方面是因为用了 element
表格组件,二次封装会使传值等变的更为复杂,另一方面是封装过后在可读性上有很大的损失
怎么封装
由于只提取了公共的逻辑,模板部分未有提取,而且每个列表页调用的 api
也不同,选择采用 mixin
的方式,在 mixin
mixin
的特性可以在
成果
通过这样的方式,将同类业务中相同的逻辑抽离出来,列表页面的逻辑被简化,后续的业务迭代中只需很少的代码即可实现需求,公共的逻辑在 mixin
总结
上述示例是稍复杂的应用,若只是展示列表,只需重置 data
中的数据即可