微信扫一扫打赏支持

legend3细节---210312

legend3细节---210312

一、总结

一句话总结:

 

1、数据库取数据,【toArray之前一定要判断有数据】,不然会出错?

比如 if($blogIntroduce) $blogIntroduce=$blogIntroduce->toArray(); else $blogIntroduce=[];

 

2、修改数据之后一些情况下【没必要从数据库拿数据】?

修改数据之后一些情况下【没必要从数据库拿数据】:【直接修改原数据】即可

 

3、vue组件数据更新问题?

vue组件中,如果直接更新一级数据,那没问题,如果更新数组里面的元素,有可能就会出现问题,这个时候可以用【深拷贝】
let new_item=JSON.parse(JSON.stringify( this.item ));
new_item.blogs=back_data['blogs'];
this.item=new_item;
这里的item是父组件传给子组件的数据

 

 

4、利用【查找功能】,快速找到代码位置?

利用【查找功能】,快速找到代码位置:尤其是对代码量特别多的情况很适用

 

5、取数据的时候【不要连那么多表】?

取数据的时候【不要连那么多表】:很多数据可以在用户点击的时候【动态请求】

 

6、【方法或者函数的编号系统】?

【方法或者函数的编号系统】:这样非常方便理解方法的层级,数字和字母混合用,可以考虑是一个大写字母一个小写字母

 

7、测试阶段注意?

测试阶段注意:测试时候测试阶段的数据可以显示在操作界面

 

8、函数尽量传递参数,这样方便函数的复用?

函数尽量传递参数,这样方便函数的复用:比如前端vue中的数据处理

 

9、js的数组操作的位置【推荐用对象】来做?

js的数组操作的位置【推荐用对象】来做,就是键值对那种形式,这样查找数据效率比较高
而且如果是数组形式,【需要在数组中删除元素的时候,遍历数组就会出错】,比如在for循环中user_blog_categories.splice(i,1);而对象不会出错

 

10、【循环内】【赋初值】【一定要检查是否有数据】?

【循环内】【赋初值】【一定要检查是否有数据】,如果没有数据才赋初值,不然数据会被覆盖
if(format_user_lesson[ul_updated_at_ts]==undefined){format_user_lesson[ul_updated_at_ts]={};}
let format_user_lesson={};
//1、遍历用户lesson,按照【日期对应的天的时间戳】规整数据
for (let i=0;i<new_user_lesson.length;i++){
    let now_lesson=new_user_lesson[i];
    let ul_updated_at_ts=this.getDateDay_beginTS(now_lesson['ul_updated_at'])/1000;
    now_lesson['ul_updated_at_ts']=ul_updated_at_ts;
    //赋初值之前要检测是否有数据,如果没有数据才赋初值,不然数据会被覆盖
    if(format_user_lesson[ul_updated_at_ts]==undefined){
        format_user_lesson[ul_updated_at_ts]={};
    }
    if(format_user_lesson[ul_updated_at_ts]['data']==undefined){
        format_user_lesson[ul_updated_at_ts]['data']={};
    }
    if(format_user_lesson[ul_updated_at_ts]['data'][now_lesson['l_id']]==undefined){
        format_user_lesson[ul_updated_at_ts]['data'][now_lesson['l_id']]=now_lesson;
    }
}

 

 

二、内容在总结中

 

 

 
posted @ 2021-03-12 22:56  范仁义  阅读(58)  评论(0编辑  收藏  举报