vue笔记(持续更新)

1.vue2的生命周期
	beforeCreate 获取不到dom节点和data数据
	created  获取不到dom节点但是可以获取到data数据
	beforeMount 获取不到dom节点 可以获取到数据
	mounted 可以获取到dom节点以及获取到data数据
	beforeUpdata 调用时会重新生成dom,使用新的vnode跟之前的vnode进行diff算法进行比较得出最小更新范围,然后跟新数据重   新渲染dom也就完成了数据更新。
	updated  updated里面也可以操作dom,并拿到最新更新后的dom。mounted和updated中对dom进行操作的话并不是在所有的dom节点渲染完后进行的,如果要在页面加载完之后进行操作,需要使用$nextTick()
	beforeDestroy 销毁之前
	destroyed  销毁后
2.vue router和route的区别
	router是一个全局对象,内部包含了所i有的路由跳转方法和钩子函数,route是一个局部对象,内部包含了params,query,path,name等一些参数
3.vue 的路由模式(hash和history)
	hash模式会在url中出现#号,当hash发生改变时,http并不会包含hash,所以也不会向服务器发出请求,所以也不会重新再加页面
	history模式则是使用了h5 history interface中的pushState 和replaceState方法 这两种方法实在ie10以上浏览器才会支持。这两种方法应用于浏览器的历史记录栈,在当前forward go back的基础上对历史记录进行修改,当url地址发生改变时会向服务器发送请求,如果服务器没有对地址做出映射,也会出现404,所以在使用history模式时需要后端配合修改映射地址和404页面
4.双向绑定原理
	采用数据劫持的方法结合发布者订阅者模式来实现,通过object.definePropety()方法劫持各个属性的setter和getter,在数据发生变动时,将信息发送给订阅者触发相应的回调
5. mvvm模式和mvc模式
	mvc模式 model和view并不会产生关联,view接受到信息会交给control,control再将数据传递给model层对数据进行操作,更新数据后在vie层更新视图
	mvvm模式则是通过view-model将view和model层关联起来 当model发生变动时会通过view-model直接在view中完成视图更新
6.vue组件封装
	当项目中频繁出现重复部分时可将重复的业务进行封装,形成一个公共组件。
	组件传值:
		(1)props 父组件向子组件传递数据 子组件并不能更改数据(单向流)
		(2)$emit 子组件向父组件传递参数  通过在父组件绑定事件 子组件在出发相应事件时会向父组件传递数据
		(3)provide和inject 父组件中定义provide数据 子组件或者后代组件中可通过inject直接获取父组件中provide定义的数据
		(4)vuex 通过在state中存放公共数据 然后在各个页面中可以使用$store.state进行使用
		 (5) 在main.js中创建全局的eventbus 使用是通过eventbus.emit定义  接受则是event.on(子组件之间传值)
	组件插槽:
		(1)匿名插槽
		(2)具名插槽
		(3)作用域插槽
7.watch和computed的区别
	watch是用来监听数据,当某个数据发生改变时,watch会监听到数据的变动,以此来做出相应的操作,watch可以进行异步操作
	computed是一个计算属性需要return返回值,在数据发生变动时,computed会做出相应的计算,它是有缓存值的,不能进行异步计算
8.<keep-alive></keep-alive>组件
	keep-alive是一个抽象组件,他并不会被渲染成dom元素,它会将需要的组件进行缓存,节省性能。组件进行切换的时候,默认会进行销毁,如果有需求,某个组件切换后不进行销毁,而是保存之前的状态,那么就可以利用keep-alive来实现。
9.  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值