1.mounted和destory生命周期函数不好使
原因:是因为路由使用了标签<keep-alive></keep-alive>,该标签实现缓存数据
需要使用destory和beforedestory的生命周期场景有:
1.bus之间组件通信,兄地组件之间的通信
2.使用定时器
2.antD-vue由于给列的属性设置为fixed,会导致动态修改表格的size的时候,设置的动态的列会出现对不齐的情况
原因:固定(fixed)列的高度高于普通列:普通列的高度与fixed列的高度不同,导致行对不齐
解决方案1:给列设置的属性fixed去掉
解决方案2:可以在动态的设置完table的size之后,刷新页面,就可以实现高度相同
解决方案3:antD-vue正在解决中
解决方案4:添加随机数,保证rowKey是惟一的的
具体详情可以参考:blog.csdn.net/baozhuona/a…
3.antD-vue由于给列的属性设置为fixed,设置鼠标滑过表格的背景的时候,颜色设置的样式失效
4.antD-vue
this.$refs.manageForm.resetFields()函数生效的前提是给表单设置prop属性,否则不生效,没办法实现重置的效果
5.forEach不支持修改索引,底层控制的index自增,我们无法控制,实现该功能的时候,可以使用for循环
forEach虽然是for的增强版,但是有些功能是不支持,比如,他不能return 以及break
典型的案例
arr.forEach((item, index) => {
arr.splice(index, 1);
console.log(1); //输出几次?1
});
console.log(arr) //?2
当他进行第二次循环时候,index为2,底层控制了他自动增加1,,但是此时数组arr只有[2],索引为0,所以,删除不干净
6.reduce函数可以实现累加器,以及计算一个字符串中每个字母出现次数
累加器的用法
var arr=[1,2,3,40]
var total=arr.reduce((item,value)=>{
return item+=value
},0)
console.log(total)
计算字符串中每个字符出现的次数
var arr=[a,d,s,a,d,f,g,a]
var obj=arr.reduce((item,value)=>{
item[value]?item[value]++:item[value]=1
return item
},{})
consoel.log(obj)
7.vuex中的state为什么要通过mutation修改,而不是直接修改state
因为state是实时更新的,mutations无法进行异步操作,而如果直接修改state的话是能够异步操作的,当你异步对state进行操作时,还没执行完,这时候如果state已经在其他地方被修改了,这样就会导致程序存在问题了。所以state要同步操作,通过mutations的方式限制了不允许异步。
8.cookie 不设置过期时间,默认过期时间是多少
关闭浏览器就结束了
9.给多个组件新添加形同的功能,使用mixin,例如表格点击当前行
例子:勾选多个数据,展示数据个数,如果没有使用mixin里面的方法,就会出现,搜索之后,数据个数为0,使用该函数,可以展示搜索出来的数据个数
10.封装antD-vue的table的操作列,没办法进行定制化开发,使用动态插槽名
11.因为集成化的组件,不满足项目的需求,修改node_modules里面的组件,将修改好的组件,上传到git或者svn便于其他人的开发,以及后期维护
需要修改vue.config.js里面的webpack的alias,将要修改的文件,放到src下面相关的文件夹下,将文件里面的相对路径换成绝对路径,详情可以参考别人的网址,里面有具体的使用方法https://www.cnblogs.com/baixiaoxiao/p/12964170.html
12.echars的地图的穿透,点击进入二级地图:echarts.registerMap()关键点是这个函数方法
13.echars地图自动展示弹框数据以及高亮,使用定时器,和dispatchAction函数,数据要跟地图的数据个数一样的,否则会出现问题
可以参考https://blog.csdn.net/qq_36947128/article/details/90899564
14.antD-vue表格列的拖拽不流畅,是因为没有给具体的宽度
15.Object.keys 只收集自身属性名,不继承自原型链上的属性.
16.antd清空input value值后 placeholder不显示的问题
this.setState({ opPerson: undefined});
17.antD-vue 的日期选择器的mode=year时,change事件不生效,无法监听到值是否改变,需要自己手动监听watch这个值的变化,进行对应的操作
18.antD-vue 的表格,只有表头的时候,即使宽度超过设置的宽度的时候,也不会出现滚动条,需要手动的去改变样式
19.antD-vue 的级联选择器,回显数据,需要保证,数组里面的数据类型是字符串类型
20.vue给对象赋值的过程中,需要使用Object.assign()或者this.$set(),不要直接赋值,否则会出现改变不了数据的情况
23.antD-vue的tag标签,当删除的时候,有个动画,所以标签在显示的时候,要进行延迟显示,否则效果不佳
24.因为vue路由懒加载,所以打包的时候会有多个js,这样是为了,首屏加载速度更快,路由被访问时才加载
扩展:优化首屏加载:1.路由懒加载 2.开启gzip 3.过大的组件,从外部引入 4.productionSourceMap关闭
继续扩展:如果仍感觉加载时间过长,1.可以给首页添加一个loading 2.首页单独做服务端渲染
25.vue项目打包的时候,分成多个js,,避免每次都部署整个项目
经过查询是不可以的,因为打包的时候,文件是经过重新的压缩加密的,部署的时候是根据hash去更新的,如果对应的js文件没有修改,是不会更新,所以速度也不会很慢
26.路由的把组件按组划分,可以给chunk自己的命名,也许可以实现部署的时候只部署单个的修改文件,暂时还没有实践
27.路由懒加载有的js不到10k,是不会触发gzip的,所以可以将多个不到10k的文件,进行组件的按组划分,因为1+1>2,所以会触发gzip,而10k的文件,经过压缩,也就差不多4k,跟之前没有按组划分是差不多大小的,所以可以提升速度
28.vscode 安装sqltools ,显示缺少驱动,安装sqlTools mysql/MariaDB 连接对应的数据库,可以查看对应表的数据
29.antD-vue表格的列对不齐,给表格的每个列定宽就可以了
30.antD的Tree的异步请求数据,首次点击加载数据,再次点击,数据就不加载
1.使用loadData,动态加载数据,因为是动态加载,所以,初始化,带有箭头,可以进行点击,如果不使用这个函数,一层数据,就不会带有箭头
2.使用搜索的,请求后台的数据,会导致问题,问题描述:点击过后,在搜索,数据没有箭头,无法点击
使用loadKeys和expandedKey,和expand的Api,手动控制已加载的节点,
3.Tree展示多个字段,可以通过Api的scopedSlots,动态的显示页面数据