vue知识汇总

vue知识汇总

# 插值

{{}}    变量   表达式   三元  链接且/或    函数

# 指令

v-text  文本插入

v-html   解析标签

v-once    渲染一次  mvvm

v-clock   解决插值的闪屏问题

常用

v-bind   动态属性<a :href='href'>{href:'http://baidu.com'}

v-on      事件绑定  <button @click='changefun'>

        修饰符:once self stop prevent

        事件对象:event vue的事件对象就是原生的事件对象

v-model   双向数据绑定  只用于表单

v-for   循环  

        数组循环    v-for="(item,index) in arr" :key="index"    //diff算法  item.id和index有啥区别?深度面试题

        对象循环   v-for="(val,key,index)in obj" :key="index"

v-if    注意:先判断再决定要不要渲染dom节点,true节点渲染,false节点不渲染

v-show   注意:节点无条件渲染,v-show空值当前节点要不要显示,true显示,false是通过css隐藏

频繁切换   用v-show

不频繁切换  用v-if

# 自定义指令   (用两个案例说明的,记住这两个案例)

   全局指令

   Vue.directive(‘color’,{//v-color

        inserted:(el)=>{//inserted或者update

             el.style.color='red'

        }

   })

   局部指令:

     directives:{

          'color':{

               inserted:(el)=>{

                    el.style.color='red'

               }

          }

     }

# computed  计算属性  提高性能方式之一

  1.data的数据的改变,页面会重新渲染,刷新页面

  2.computed  派生数据,也是数据

  3.缓存,只要依赖的数据变量不改变,从第二次起获取的都是缓存中的结果值    (数据是函数的数据)

  4.依赖性:他依赖的数据变量发生改变,此函数重新执行

# watch 监听   (监听数据的,得有数据才能监听)

监听字符串:

     watch:{

          msg:()=>{},

          msg:{

               'handelr':'changfun',

               'immediate':true  //首次执行

          }

     }

监听对象

     watch:{

          obj:{

          'handler':'changefun',

          'deeo':true,   //深度监听,  默认是浅监听

          'immediate':true  //首次执行

     }

     }

# filter 过滤器

全局过滤器

     Vue.filter(过滤器名,(val)=>{

        return val处理逻辑

   })

局部过滤器

     filters{

     过滤器名:(val)=>{

          return val处理逻辑

     }

}

# 生命周期  声明周期钩子

请说一下vue的声明周期?   必会

创建

   beforeCreat  创建前

   created      创建后

   beforeMounte  挂载前

   mounted       挂载后  重要:发送网络请求,闪屏

更新

   beforeUpdate    更新前

   updated         更新后

销毁

   beforeDestory  销毁前

   destoryed       销毁后

# 理论:

# 一个问题,vue的渲染过程?深度理论面试

   vue只是一个框架,最终都要生成html页面。

   1.拿到data数据,变成get set 监听形式。监听形式@object.defunction

   2.传入数据,生成vdom,vue的render函数要做的事

   3.vdom变成真实的dom元素,vue有patch函数。 变成了一个dom片段

   

# 另一问题,vue的更新过程?

1.触发data中的监听的set方法。

2.vue的render要做的事。传入数据。生成一个新的vdom

3.vue的patch函数,传入的参数  一个叫旧vdom和新的v-dom

  函数中的diff对比,多的删除, 少的创建,挂载真实的dom上


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值