项目总结

最近做着安防的后台管理项目,做下总结

内容显示区使用 iframe,本来想做模块化单页面的,但页面最终是要套在 exe 壳里,怕有问题,所以用了这保守的方案

关于递归
数据渲染能用 Vue 的都用 Vue,但其中要实现无限级的树形菜单,显然模板语法 v-for 就做不到了,所以用了 jq 写递归
之前对递归都是一知半解,现在实践了才算会用,本来在那里函数快执行完毕了,但却又调用了自己,所以会一直嵌套地执行下去,关键是一定要有结束条件,不然会死循环
return 不是必须写的,如果没有值要返回的话,只要有条件让他停止对自己的调用即可,如判断有没有子级、数组长度是否为0等

关于数据整理
后台传来数据不一定合我们心意,如无限分级,以前见的是 children 数组方式,现在后台传的是 id 和 pid,关键是各个对象不是在数组里,而是作为一个大对象的属性值,属性名为其 id。在老板的指点下,把后台的数据整理为了自己想到的格式,所以学会整理数据也挺重要的

关于 layui 和 Vue 的结合使用
两者应该是没影响的,在页面没渲染前就已经进入了 Vue 的生命周期,而 layui 是要在页面渲染后,元素存在了,才能进行操作,所以可以用 Vue 渲染页面后 layui 进行美化

关于页面控制
本来后台想使用 session 进行登录验证,但前后端分离,出现跨域问题导致 sessionid 无法生成,后该用 token

总结
组件化的 Vue 是可以实现无限级菜单的,但不知普通方式使用的 Vue 能否实现,要研究下

单页面可用预渲染优化 seo ,而后台系统这类的尽量用单页面可能会好点,因为不需要考虑 seo ,而且 iframe 会出现资源重复加载的问题,而且切换页面时还会闪一下,用户体验和性能应该单页面更好。要多研究下模块化开发,无论单页面多页面,都可以用模块化的方式

---------- 2020-01-12 -----------
废弃 iframe 方案,改为 Vue 单页面,体验感好得多得多,用的 Vue + Vue Router + Vuex + Element + axious,Element 非常给力哈哈,感谢饿了么

原文地址:https://www.cnblogs.com/Grani/p/11774471.html