vue知识

vue底层原理和vue描述
原理:Object.definProperty
vue:优点:虚拟dom,模块化开发,数据驱动,双向响应,浏览器统一兼容。
缺点:由于是js生成的虚拟dom,不利于seo爬虫爬取,首屏加载相对于静态页面慢。

data为什么是函数
因为组件的data会提升,而根实例上的data是对象,会导致一个合并。把data变成函数,以调用的方式来使,避免了覆盖和冲突

什么是虚拟dom
使用js算法动态生成的dom叫虚拟dom

diff算法和key的关系
同层对比,只要发现不一样的节点就会用新的dom替换旧的dom。正是因为diff算出来的虚拟dom没有跟踪标识,当一个循环出来的虚拟dom列表中
任意一个元素被修改,diff算法没办法找到它,只能重新循环渲染一份新的dom。加了key之后,每个dom有了自己唯一的标识,这样修改的时候可以
精准的找到并修改,从而节省了性能。所以,key的值必须唯一,而且不可以用随机数,用时间,不建议用下标。
 

生命周期

4个阶段8个函数,其最大的问题是自动发起ajax请求问题,如果是在浏览器中运行,则应该在mounted发起,如果是服务端渲染,应该在created发起。

//创建阶段
    beforeCreate(){
        //骨架屏来占位
        //日志上传
    },
    created(){
        //发起ajax请求,【不推荐】因为ajax异步,生命周期同步
        //在服务器端渲染的时候,这个函数是最后一个生命周期
        //技术胖
    },
    // 挂载阶段
    beforeMount(){
        // 可以对一些数据进行格式化
    },
    mounted(){
        // 发起ajax【推荐】前端项目大多数都是运行在浏览器,极少数是服务器渲染
        
    },
    // 更新阶段
    beforeUpdate(){
        // 可以二次对数据进行修改
    },
    updated(){
        // 只能观察到更新的数据
    },
    // 销毁阶段
    beforeDestroy(){
        //清除常驻内存的垃圾
        //对用户的离开行为进行提示
    },
    destroyed(){
        
    }

nextTick

保证所有dom全部更新完毕之后才会触发,用于获取dom更新后的获取dom1节点数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值