Open lsqswl opened 6 years ago
@lsqswl 提得很好,谢谢
@lsqswl 请问下为什么使用全局toast不好啊?
@slkk 我上面的问题是针对他这个封装提的。如果你是一个大工程,有自己的toast,集成他这个项目的时候,你需要改动才能完成集成。如果他全部的东西都是用到才加载,然后外面弄个appvue demo简单调用一下,对集成会非常方便。
举个例子, 比如nprogress这个库,你要使用他的时候,无需改动他一行代码即可完成集成。这个库你就需要改toast,改成你自己的。这就是区别。 不是说全局toast一定不好,如果工程及其浩大,还是希望能够懒加载,用时才加载。 各个模块各司其职,不跟其他模块有高度耦合,工程功能的拼装与拆减都会变得及其容易。
封装的目的在于让使用方便,与工程模块划分清晰,用全局的,大家都不知道自己跟谁耦合,也不利于维护。当然也可以统一一个common组件库,所有的功能都去依赖它,这思路也是可以的。common太大首次界面加载的时间就会很长,用户体验不好。懒加载,懒加载,懒加载,O(∩_∩)O~
个人意见,仅供参考。
尝试着将这个作为小工具集成到项目中,集成过程中发现存在如下问题:
1.每个vue的布局不独立,互相影响,这个是封装大忌,最好每个子vue的布局都需要用一个大括号包进去,且不能被外部影响。 2.使用全局的toast不好。 3.App.vue中存在影响子vue样式的css,如button。
总体来说还是挺好的,稍微修改了一下,完成了集成。作为小工具使用使用挺不错。