可能你会想,别扯了谁不知道Vue是MVVM的,你还扯啥MVC呀。
这个没毛病呀,Vue的内部代码采用了MVVM的方式,但是这个并不影响我们的项目采用什么方式。
那么项目是否可以采用MVC设计模式来架构呢?——当然是可以的。
MVC是一种设计模式,可以广阔的应用在各种项目里,前端可以用,前后端不分的项目也可以用,比如ASP.net MVC 。
技术栈
- vue3
vue2不太了解,不知道是否适用。先在 Vue3 的项目里面尝试一下。
思路
先画个脑图表示一下:
MVC
把 Controller 作为核心:
- 一方面和后端交互数据(API);
- 一方面和Vue交互数据(model)。
是不是很简洁。
如果你熟悉 Vuex 的话,那个 action 就是干这个事情的。
而在 Vue3 里面可以更灵活,我们直接建立单独的 js 文件即可。
所以项目里面就不需要 Vuex 了,可以自己写一个轻量级的状态管理:https://www.jianshu.com/p/f7ca0f2efc44
然后可以在此基础上实现各种功能。
文件结构
设置controller 文件夹,集中管理各种js文件,非常方便。
controller