Vue获取初始化数据是放在created还是mounted解读

接下来我会详细讲解“Vue获取初始化数据是放在created还是mounted解读”的攻略。

构建Vue实例

首先,在构建Vue实例之前,我们需要先导入Vue.js。

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

然后,我们需要在HTML中指定一个挂载点(mount point),这个挂载点是Vue实例所要依附的真实DOM元素。

<div id="app">
  <!-- Vue实例将会依附于这里 -->
</div>

接着,在JavaScript中,我们创建一个Vue实例并将其依附到挂载点中。

const app = new Vue({
  el: '#app',
});

created和mounted生命周期函数

在Vue实例被创建后,其会自动执行一些生命周期的函数,其中常用到的就是created和mounted。created在实例创建完毕后立即执行,而mounted在Vue实例挂载到挂载点之后执行。这两个函数的区别在于:

  • 在created中,Vue实例被创建,但是它的模板还没有被渲染成最终的DOM
  • 在mounted中,Vue实例已经和真实DOM元素进行了绑定,并且模板已经填充到了最终的DOM中

所以,在created中,我们无法访问到真实DOM元素,但是可以访问Vue实例中所有的响应式数据和方法。而在mounted中,可以访问到真实DOM元素,并且做一些和DOM有关的操作。

放置初始化数据

放置初始化数据的时间应该放在created或mounted中取决于我们初始化数据是不是需要获取DOM元素的。

如果数据不需要获取DOM元素,那么我们可以将其放置在created中。

const app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!',
  },
  created() {
    // 不需要获取DOM元素的数据初始化
    console.log(this.message);
  },
});

如果数据需要获取DOM元素,那么我们需要将其放置在mounted中。

const app = new Vue({
  el: '#app',
  data: {
    message: '',
  },
  mounted() {
    // 需要获取DOM元素的数据初始化
    this.message = document.getElementById('message').innerHTML;
    console.log(this.message);
  },
});

示例说明

示例1:在created中放置初始化数据

<div id="app">
  {{ message }}
</div>

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
  const app = new Vue({
    el: '#app',
    data: {
      message: 'Hello World!',
    },
    created() {
      console.log(this.message);
    },
  });
</script>

在这个示例中,我们在created中放置了初始化数据,这里的数据不需要获取DOM元素。当Vue实例创建完成后,我们打印出了初始化的数据“Hello World!”到控制台中。

示例2:在mounted中放置初始化数据

<div id="app">
  <p id="message">Hello World!</p>
  {{ message }}
</div>

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
  const app = new Vue({
    el: '#app',
    data: {
      message: '',
    },
    mounted() {
      this.message = document.getElementById('message').innerHTML;
      console.log(this.message);
    },
  });
</script>

在这个示例中,我们在mounted中放置了初始化数据,这里的数据需要获取DOM元素。我们将DOM元素中的内容“Hello World!”赋值给了Vue实例中的数据message。当Vue实例挂载完毕后,我们打印出了初始化的数据“Hello World!”到控制台中。

总结

在Vue中,我们可以将初始化数据放置在created或mounted中,取决于这些数据是否需要获取DOM元素。对于数据不需要获取DOM元素的情况,我们可以将其放置在created中;对于数据需要获取DOM元素的情况,我们需要将其放置在mounted中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue获取初始化数据是放在created还是mounted解读 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue3中获取ref元素的几种方式总结

    下面我将为您详细讲解“vue3中获取ref元素的几种方式总结”的完整攻略。 vue3中获取ref元素的几种方式总结 在Vue 3中,ref是用来代替Vue 2中的$refs属性。使用ref可以获取到DOM元素或组件实例,以便于直接操作它们。下面是Vue3中获取ref元素的几种方式总结。 1. 使用template refs 在Vue 3中,template …

    Vue 2023年5月27日
    00
  • vue3 setup() 高级用法示例详解

    下面我来为您详细讲解“vue3 setup() 高级用法示例详解”的完整攻略。 什么是vue3 setup()函数 setup()是Vue3中的一个新函数,用来替代Vue2中的data、computed、methods等选项,用于组件的数据响应、计算属性、方法等快速开发,同时还可以在其中访问props、context等组件相关对象。setup()函数是Vue…

    Vue 2023年5月28日
    00
  • java WebSocket客户端断线重连的实现方法

    下面我将为您详细讲解 “java WebSocket客户端断线重连的实现方法” 的完整攻略。 什么是WebSocket客户端断线重连 在WebSocket应用中,客户端与服务器建立的长连接可能会由于网络原因或其他客户端或服务端的错误导致连接中断。如果我们的WebSocket客户端无法及时检测到这种情况并重新建立连接,会导致应用程序无法正常工作。为了解决这个问…

    Vue 2023年5月28日
    00
  • vue实现全选功能

    下面是详细讲解“Vue.js实现全选功能”的完整攻略,包含两条示例说明: 一、实现思路 要实现全选功能,需要以下几个步骤: 定义一个变量来存储当前是否为全选状态。 绑定checkbox的v-model,将每个checkbox的选中状态绑定到一个数组中。 使用计算属性,判断当前是否处于全选状态,然后绑定全选的checkbox的v-model,实现全选功能。 监…

    Vue 2023年5月29日
    00
  • Vue如何配置根目录@(引用路径)

    配置webpack配置文件 在使用Vue项目时,通常会由webpack进行构建,因此我们需要在webpack配置文件中进行根目录的配置。打开webpack配置文件,在module.exports对象下添加resolve属性,并在里面添加一个alias对象,指定根目录别名和实际路径,如下所示: module.exports = { // … resolve…

    Vue 2023年5月28日
    00
  • vue Watch和Computed的使用总结

    我来为你详细讲解“vue Watch和Computed的使用总结”的完整攻略。 什么是vue Watch和Computed 在Vue.js开发中,数据的状态更新非常频繁,因此需要工具来监听并响应数据变化。Vue Watch和Computed都是解决Vue数据变化监听的两个方案。 Watch是一种对数据进行监听并做出相应的方案,当监听的数据发生变化时,会立即触…

    Vue 2023年5月27日
    00
  • Vue项目打包成exe可执行文件的实现过程(无瑕疵,完美版)

    这是一个相对复杂的问题,需要较详细的解释。以下是详细的攻略: 1. 准备工作 1.1 安装依赖 将Vue项目打包成exe可执行文件的过程中需要使用nodejs的Electron打包工具,需要安装nodejs。 Electron打包工具依赖于Electron Builder,因此需要安装Electron Builder。 安装完成以上两个依赖后,需要安装cro…

    Vue 2023年5月27日
    00
  • vue watch自动检测数据变化实时渲染的方法

    当Vue实例中的数据发生变化时,自动重新渲染视图是Vue响应式系统中最强大的功能之一。Vue提供了一种名为“watch”的特性,允许我们监测数据变化,当数据发生变化时,执行相应的回调函数。这个特性非常适用于处理异步操作、表单输入以及任何需要在特定数据变化时执行特定操作的情况。 以下是vue watch自动检测数据变化实时渲染的方法的完整攻略: 1. 创建一个…

    Vue 2023年5月29日
    00
合作推广
合作推广
分享本页
返回顶部