Vue 生命周期中 mounted 和 created 的区别及使用方法

Vue 是现代前端开发中使用最广泛的框架之一,Vue 提供了一系列的生命周期函数来管理组件的不同阶段。其中,createdmounted 是最常用的两个生命周期函数,但是这两个函数有着不同的作用和使用方式。本文将主要介绍 createdmounted 的区别以及使用方法,并结合示例代码进行说明。

created 和 mounted

在介绍 createdmounted 的区别之前,先简单介绍一下这两个函数。

created 函数表示组件实例创建完成后,立即执行的函数。在这个函数内部,你可以访问组件的 props,初始化数据,进行方法和事件的绑定等。

mounted 函数表示组件已经被挂载到 DOM 上之后执行的函数。在这个函数内部,你可以访问到组件引用的 DOM 元素,执行一些 DOM 操作,或者初始化其他插件等。

区别

从上面的描述可以看出,createdmounted 函数的最大区别在于执行的时机不同。created 函数在组件实例创建后立即执行,而 mounted 则是在组件被挂载到 DOM 上之后执行。这样的区别,决定了这两个函数的使用场景和作用不同。

created

created 函数在组件实例创建后立即执行,这个时候 DOM 元素还没有被渲染,所以你无法访问到组件引用的 DOM 元素。但是你可以在这个函数内部进行组件数据的初始化、事件的绑定等操作。

mounted

mounted 函数在组件被挂载到 DOM 上之后执行,这个时候组件引用的 DOM 元素已经被渲染到页面上了。所以你可以在这个函数内部进行 DOM 操作,比如查找元素、修改元素属性、绑定事件等。

使用方法

根据上面介绍的区别,我们可以根据具体的场景来选择使用 createdmounted。如果我们需要初始化一些数据、绑定一些事件等,就可以选择 created。如果我们需要对组件引用的 DOM 元素进行操作,就可以使用 mounted

created

created 中,我们可以初始化组件数据、绑定组件事件等操作。

----------------------------- -
  --------- -
    -- ---- ---- -- ------ -- ---- -- - --------- -- --------
    -- --- --- ------- --- -------------- ---- -----
    ---------------------- ----------
  --
  ------ -
    ------ -
      -------- ------- ------
    --
  --
  -------- -
    ------------- -
      ------------------- ----------
    --
  --
  --------- ------
    ----- ------- ------
    ------- -------------------------- -----------
  --------
---

在上面的代码中,我们可以看到 created 函数中的初始化工作,比如定义了 message 数据,以及绑定了 handleClick 方法。

mounted

mounted 中,我们可以访问到组件引用的 DOM 元素,进而执行一些 DOM 操作。

----------------------------- -
  --------- -
    -- ---- ---- -- ------ -- ---- -- - --------- -- ----- -- --- ----
    -- --- --- ------- --- --- --------- -----
    ----- -- - --------------------------------------
    ------------------------ - ------
  --
  --------- ----- ----------------------- -- - -----------------
---

在上面的代码中,我们可以看到通过 mounted 进行的 DOM 操作,找到了组件元素中的 .my-element 元素,并将其背景颜色修改为红色。

总结

在 Vue 生命周期中,createdmounted 是两个重要的函数。它们的区别在于执行时机不同,created 在组件实例创建后立即执行,mounted 在组件被挂载到 DOM 上之后执行。我们可以根据不同的场景选择不同的函数来完成我们需要的操作。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/652f90167d4982a6eb0b91af


猜你喜欢

相关推荐

    暂无文章