笔记和组合中的思考

mac2025-02-25  30

一个列表  只做增量操作

function diffAndConvert(arr1, arr2) {     //将arr2同步成arr1,并且对arr2扩展     arr2.forEach((v, i) => {         var flag1 = false;         arr1.forEach(v1 => {             if (v.id == v1.id) {                 flag1 = true;             }         });         if (flag1 == false && arr2.length != 0) {             arr2.splice(i, 1);         }     });     arr1.forEach(v => {         var flag = false;         arr2.forEach(v1 => {             if (v1.id == v.id) {                 for(let items in v){                     if(items!=='dataList'){                         v1[items] = v[items];                     }                    }                 flag = true;             }         });         if (flag == false) {             arr2.push(v);             if(!v.dataList){                 active=v;             }         }     });     arr1.forEach(v => {         arr2.forEach(v1 => {             if (v1.id == v.id) {                 if (v.dataList && v.dataList.length != 0) {                     diffAndConvert(v.dataList, v1.dataList);                 }             }         });     }); }

//此处可以优化  先做递归删除  后边添加和修改的部分可以用loadash的merge  为了保证原数组的状态  可以只在初始化的时候加入状态 以后合并就不会影响其状态 //进一步优化数据量大的时候每次新增或者修改记录父级id  之后只遍历该父级就可

 

笔记的深度监听方式和组合的_equal方式哪个更好(可以优化吗 容易出问题  因为深度watch性能不好  而且多次频繁变化不容易掌控)和组合的每次点击对比哪个好 拖拽移动    和可拖拽式布局

笔记滚动鼠标实现文字放大缩小  监听滚动事件  用zoom来实现

 

最新回复(0)