web前端知识---------------2

1.v-show和v- if的区别,使用场景

 实现方式:v-if是动态的向DOM树内添加或者删除DOM元素;v-show是通过设置DOM元素的                display样式属性控制显隐;
编译过程:v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和                 子组件;v-show只是简单的基于css切换;
编译条件:v-if是惰性的,如果初始条件为假,则什么也不做;只有在条件第一次变为真时才开始               局部编译; v-show是在任何条件下,无论首次条件是否为真,都被编译,然后被缓存,而                且DOM元素保留;
性能消耗:v-if有更高的切换消耗;v-show有更高的初始渲染消耗;
使用场景:v-if适合运营条件不大可能改变;v-show适合频繁切换。

2.computed和watch区别,使用场景 

使用场景

1.watch擅长处理的场景:一个数据影响多个数据
2.computed擅长处理的场景:一个数据受多个数据影响

区别


1、功能上:computed是计算属性,watch是监听一个值的变化,然后执行对应的回调。

2、是否调用缓存:computed中的函数所依赖的属性没有发生变化,那么调用当前的函数的时候会从缓存中读取,而watch在每次监听的值发生变化的时候都会执行回调。

3、是否调用return:computed中的函数必须要用return返回,watch中的函数不是必须要用return。

Vue组件通信有哪些方式


1.父传子:props
父组件通过 props 向下传递数据给子组件。注:组件中的数据共有三种形式:data、props、computed

2.父传子孙:provide 和 inject
父组件定义provide方法return需要分享给子孙组件的属性,子孙组件使用 inject 选项来接收指定的我们想要添加在这个实例上的 属性;

3.子传父:通过事件形式
子组件通过 $emit()给父组件发送消息,父组件通过v-on绑定事件接收数据。

4.父子、兄弟、跨级eventBus.js
这种方法通过一个空的 Vue 实例作为中央事件总线(事件中心),用它来(e m i t ) 触 发 事 件 和 ( emit)触发事件和(emit)触发事件和(on)监听事件,巧妙而轻量地实现了任何组件间的通信。

5.通信插件:PubSub.js

6.vuex    vuex 是 vue 的状态管理器,存储的数据是响应式的。只需要把共享的值放到vuex中,其他需要的组件直接获取使用即可;


vue的生命周期有哪些?

vue 实例从创建到销毁的过程就是生命周期

一、创建前 / 后

beforeCreate生命周期函数执行的时候,data和method 还没有初始化

created 生命周期函数执行的时候,data和method已经初始化完成

二、渲染前/后

beforeMount 生命周期函数执行的时候,已经编译好了模版字符串、但还没有真正渲染到页面中去

mounted 生命周期函数执行的时候,已经渲染完,可以看到页面

三、数据更新前/后

beforeUpdate生命周期函数执行的时候,已经可以拿到最新的数据,但还没渲染到视图中去。

updated生命周期函数执行的时候,已经把更新后的数据渲染到视图中去了。

四、销毁前/后

beforeDestroy 生命周期函数执行的时候,实例进入准备销毁的阶段、此时data 、methods 、指令等还是可用状态

destroyed生命周期函数执行的时候,实例已经完成销毁、此时data 、methods 、指令等都不可用
beforecreate (初始化界面前)
created (初始化界面后)
beforemount (渲染界面前)
mounted (渲染界面后)
beforeUpdate (更新数据前)
updated (更新数据后)
beforedestory (卸载组件前)
destroyed (卸载组件后)

生命周期中的浏览器渲染

生命周期是否获取dom节点是否获取data是否获取methods
beforeCreate
created
beforeMount
mounted

浏览器渲染过程

  • 构建DOM树
  • 构建css规则树,根据执行顺序解析js文件。
  • 构建渲染树Render Tree
  • 渲染树布局layout
  • 渲染树绘制

created和mounted区别与使用场景

  • created在模板渲染成html前调用
  • mounted在模板渲染成html后调用

使用场景

  • created:通常用于初始化某些属性值,例如data中的数据,然后再渲染成视图。
  • mounted:通常在初始化页面完成后,对html的dom节点进行需要的操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值