1、
2、为了提高性能,开始的vue-route的keep-alive功能,结果发现beforeUpdate不会调用了,怎么解决?
大致思路就是从主页跳转到其他页面时把主页的keepAlive值设置为false,从详情页返回主页时把主页的keepAlive值设置为true就好了,代码如下:
主页跳转到其他页面时把主页的keepAlive值设置为false
export default { data() { return { }; }, mounted() { }, methods: { }, //修改列表页的meta值,false时再次进入页面会重新请求数据。 beforeRouteLeave(to, from, next) { from.meta.keepAlive = false; next(); }};从详情页返回主页时把主页的keepAlive值设置为true(要做个判断,判断是不是返回到主页的)export default { data() { return { }; }, mounted() { }, methods: { }, beforeRouteLeave(to, from, next) { if (to.path == "/index") { to.meta.keepAlive = true; } else { to.meta.keepAlive = false; } next(); }};这里使用了beforeRouterLeave(to,from,next){},它是methods平级的,具体使用方法可以查阅一下。注意问题:beforeRouterLeave必须写在有配置路由的页面上才有效的,最开始我想写在App.vue页面上,发现根本就不执行的。
3、知道ESLint吗?
说白了就是语法检测工具
参考文档:https://www.jianshu.com/p/933b6b6a84c9
4、知道Gitignore吗?
Git 忽略提交 .gitignore 在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则
5、知道WebStorm吗?
也是一款前端开发的编程工具(和vscode、hbuild等差不多,只不过里面集成的SDK比较多)
https://www.jianshu.com/p/554dd50c7dd9
6、有没有看过开源项目的源代码?
https://blog.csdn.net/qq_36017081/article/details/80397961
7、Webpack如何从node_modules里的模块包中抽取文件到dist文件夹中
利用CommonsChunkPlugin
https://segmentfault.com/a/1190000011920743
8、知道Vue多页应用吗?
https://www.jianshu.com/p/a325ea88812a
9、数组的map和foreach的区别?
相同点:
都是循环遍历数组中的每一项
forEach和map方法里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项),index(索引值),arr(原数组)
匿名函数中的this都是指向window
只能遍历数组
都不会改变原数组
区别:
map方法
1.map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。
2.map方法不会对空数组进行检测,map方法不会改变原始数组。
3.浏览器支持:chrome、Safari1.5+、opera都支持,IE9+,若arr为空数组,则map方法返回的也是一个空数组。
forEach方法
1.forEach方法用来调用数组的每个元素,将元素传给回调函数
2.forEach对于空数组是不会调用回调函数的。
无论arr是不是空数组,forEach返回的都是undefined。这个方法只是将数组中的每一项作为callback的参数执行一次