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

yizhihongxing

接下来我会详细讲解“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日

相关文章

  • vue使用swiper插件实现垂直轮播图

    下面是“vue使用swiper插件实现垂直轮播图”的攻略: 一、前提条件 在开始使用Swiper插件制作垂直轮播图之前,我们需要先确定以下条件: 在vue项目中安装Swiper插件,可以通过npm命令行进行安装:npm install swiper –save; 在需要使用轮播图的vue组件中引入Swiper插件:import Swiper from ‘s…

    Vue 2023年5月29日
    00
  • vue实现简单的星级评分组件源码

    下面详细讲解“vue实现简单的星级评分组件源码”的完整攻略。 步骤一:编写HTML结构 首先,我们需要编写一个HTML结构,来展示星级评分组件。在Vue组件里,我们需要使用template标签,编写类似以下的HTML代码: <template> <span> <i v-for="index in maxScore&qu…

    Vue 2023年5月27日
    00
  • Vue 中批量下载文件并打包的示例代码

    要实现Vue中批量下载文件并打包,可以使用webpack和file-saver库。 安装file-saver库 首先需要安装file-saver库,可以使用npm进行安装,命令如下: npm install file-saver –save 创建download.js 创建一个download.js文件,包含一个方法downloadSingle(url, …

    Vue 2023年5月28日
    00
  • Vue中的过滤器(filter)详解

    Vue中的过滤器(Filter)详解 什么是过滤器(Filter)? 过滤器(Filter)是Vue.js提供的一种可复用功能的方法,用于对数据的格式化处理。 在Vue.js的模板语法中, 可以用管道符(|)来应用过滤器。管道符前面是要过滤的数据项,管道符后面是过滤器的名称。 例如: <div>{{message | capitalize}}&l…

    Vue 2023年5月27日
    00
  • vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】

    Vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】 简介 Vue是一种用于构建用户界面的渐进式框架,支持单文件组件,可以非常方便地组合和使用组件来构建应用。自定义表单输入组件可以让开发者轻松地实现与表单的交互,并支持一些常用特性。本篇文档主要介绍如何使用自定义事件来实现日期组件和货币组件,帮助开发者更好地理解自定义表单输入组件的使用方法。 准备…

    Vue 2023年5月28日
    00
  • 详解vue 路由跳转四种方式 (带参数)

    详解vue 路由跳转四种方式 (带参数) 在vue中,路由跳转是非常常见的操作,我们可以使用vue-router提供的四种方式进行路由跳转。本文将详细讲解这四种方式,并提供带参数的示例。 1. router.push 使用router.push可以向路由添加一个新的历史记录,这意味着用户可以使用浏览器的后退按钮回到之前的页面。这种方式常用于页面跳转或者在当前…

    Vue 2023年5月28日
    00
  • 解决iView中时间控件选择的时间总是少一天的问题

    这里提供一种解决iView中时间控件选择的时间总是少一天的问题的方法。 问题现象 在使用iView的DatePicker组件(包括RangePicker)时,选择某个日期后,获取到的日期总是比实际选择的日期少一天。 解决方案 这个问题的原因是iView组件在计算日期时,没有考虑到时区的影响。具体来说,是由于iView通过Date对象的getFullYear、…

    Vue 2023年5月29日
    00
  • Vue项目从webpack3.x升级webpack4不完全指南

    下面就是Vue项目从webpack3.x升级webpack4.x的完整攻略。 升级前的准备 在升级之前,我们需要先做好以下准备工作: 确定当前项目使用的webpack版本; 了解当前使用的webpack配置,包括各个配置项以及对应的含义; 相关依赖库的版本是否与webpack4.x兼容,如vue-loader、babel-loader等。 在这个前置知识的基…

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