Vue-cli】vue的生命周期包含哪些方法?分别的含义是什么?_第2页回答

2021-02-03 19:37发布

9条回答
征戰撩四汸
2楼 · 2022-06-08 15:21

1、创建前(beforeCreate)

对应的钩子函数为beforeCreate。此阶段为实例初始化之后,此时的数据观察和事件机制都未形成,不能获得DOM节点。

2、创建后(created)

对应的钩子函数为created。在这个阶段vue实例已经创建,仍然不能获取DOM元素。

3、载入前(beforeMount)

对应的钩子函数是beforemount,在这一阶段,我们虽然依然得不到具体的DOM元素,但vue挂载的根节点已经创建,下面vue对DOM的操作将围绕这个根元素继续进行;beforeMount这个阶段是过渡性的,一般一个项目只能用到一两次。

4、载入后(mounted)

对应的钩子函数是mounted。mounted是平时我们使用最多的函数了,一般我们的异步请求都写在这里。在这个阶段,数据和DOM都已被渲染出来。

5、更新前(beforeUpdate)

对应的钩子函数是beforeUpdate。在这一阶段,vue遵循数据驱动DOM的原则;beforeUpdate函数在数据更新后虽然没立即更新数据,但是DOM中的数据会改变,这是Vue双向数据绑定的作用。

6、更新后(updated)

对应的钩子函数是updated。在这一阶段DOM会和更改过的内容同步。

7、销毁前(beforeDestroy)

对应的钩子函数是beforeDestroy。在上一阶段vue已经成功的通过数据驱动DOM更新,当我们不在需要vue操纵DOM时,就需要销毁Vue,也就是清除vue实例与DOM的关联,调用destroy方法可以销毁当前组件。在销毁前,会触发beforeDestroy钩子函数。

8、销毁后(destroyed)

对应的钩子函数是destroyed。在销毁后,会触发destroyed钩子函数。

vue的生命周期的思想贯穿在组件开发的始终,通过熟悉其生命周期调用不同的钩子函数,我们可以准确地控制数据流和其对DOM的影响;vue生命周期的思想是Vnode和MVVM的生动体现和继承


相关问题推荐

  • 回答 13

    目前,对于SEO支持比较好的项目方案是采用服务端渲染。所以如果项目有SEO需求,那么比较好的方案是服务端渲染。如果你已经采用了前后分离的单页项目,而你的网站内容不需要AJAX去获取内容和展示内容,那么可以试试 prerender-spa-plugin 这个插件,这个插件是...

  • 回答 3

    引用数据类型数组的元素是对象引用,没有实际的值,需要给它实例。例如date days = new date[5];days[0]  = new date(2000,12,3)每一个days都要去分配。而基础类型都有默认初始值。

  • 回答 7

    是可以实现滴

  • 回答 4

    Vue中传值主要分为两部分父子通信1.父传子传递:当子组件在父组件中当做标签使用的时候,通过给子组件绑定一个自定义属性,值为需要传递的数据接收:在子组件内部通过props进行接收接收的方式有2种 一种是数组接收 另一种是对象接收一般情况下我们都使用对象进...

  • 回答 8

    Vue采用数据劫持结合发布者-订阅者模式的方法,通过Object.defineProperty()来劫持各个属性的setter,getter属性,在数据变动话,通知订阅者,触发更新回调函数,重新渲染视图关键要素observer实现对vue各个属性进行监听function observer(obj, vm){ Object...

  • 回答 1

    假如说我页面上有一个按钮,点击之后请求后端接口,然后将后端返回的json做相关处理之后写入vuex的state。现在有两种写法:一种是:请求后端接口这个ajax代码应该是写在按钮的点击事件处理函数中,然后在这个处理函数里面提交mutations还一种是:直接将请求后...

  • $nextTick是什么?Vue.js 2020-07-15 16:21
    回答 1

    $nextTick是用来知道什么时候domg更新完成的,vue实现响应式并不是数据发生变化后dom立即变化,而是按照一定的策略来进行dom更新。$nextTick是在下一次dom更新循环结束之后执行延迟回调,在修改数据之后使用这个方法,立即更新dom....

没有解决我的问题,去提问