其他分享
首页 > 其他分享> > vue基础2

vue基础2

作者:互联网

vue生命周期

1.初始化阶段 两个钩子函数 beforecreated和created,bc是数据还没有的时候,created是数据已经有了,此时我们多用于ajax请求页面挂载所需要的数据
2.挂载阶段 beforemounted和mounted,bm是页面元素还没有创建的时候,mounted是页面元素已经创建,此时常用于ref获取dom元素
3.更新阶段 beforeupdated和updated,bu是数据更新了,但是页面还没有渲染出来,updated是更新页面结束
4.销毁阶段 beforedestory和destoryed,bd是组件销毁前,常用于清除定时器等等的前置工作,让组件销毁后不再对程序造成影响。 destoryed是销毁之后
如果使用keepalive的话,初始化阶段和挂载阶段只会执行一次,销毁阶段不会执行,且诞生出其他两个钩子函数,激活状态activated和失活状态deactivated

父子组件生命周期执行顺序

前两个阶段是父bc,c,bm,子bc,c,bm,m,父m,后两个阶段都是父bu(bd),子bu(bd) u(d),父u(d)

v-if和v-show

v-if是组件的销毁与创建
v-show是样式的隐藏
如果组件需要频繁的触发效果的话,使用v-show更好一些

sync和v-model的区别

sync和v-model都可以实现双向绑定,不同点是v-model一个组件或者标签上只可以使用一次,但是sync可以使用多次。原理方面的话,v-model是使用input事件绑定视图和数据,而sync
是使用update事件。

$router和$route的区别

router多用于路径切换,路由跳转,而route可以访问到路由的一些信息,比如params query meta等等

vuex的理解

vuex是vue的状态管理,用于组件通信,包含state(类似于组件中的data,存放数据),getters(计算属性),mutations(同步函数,组件通过commit触发),actions(异步函数,组件通过dispatch触发)
modules(模块化写法,将vuex中代码分模块编写,比如user,login等等,可以使用namespaced开启私有空间,但之后再组件中触发同步或者异步任务需要再函数名前加上模块名)

组件通信

父向子传值可以使用props,子向父传值使用this$emit, 其余父子间传值还有v-model sync(vue3没有)$children $parent 跨组件传值有vuex,eventbus,

标签:vue,基础,sync,销毁,阶段,组件,model,页面
来源: https://www.cnblogs.com/biubiushen/p/16507316.html