vue 初始化方法 create,beforeMount,mount,computed,watch 方法执行顺序及使用场景

这篇具有很好参考价值的文章主要介绍了vue 初始化方法 create,beforeMount,mount,computed,watch 方法执行顺序及使用场景。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:vue 存在一些基本属性和相关对象如果合理使用,可以避免代码混乱

执行顺序

create
beforeMount
computed
mounted
watch

方法说明

created执行时挂载阶段还没有开始,模版还没有渲染成html,所以无法获取元素。created钩子函数主要用来初始化数据。
beforeMount 这一步的时候,模版已经在内存中编译好了,但是尚未挂载到页面中去。
computed是在DOM执行完成后立马执行(如:赋值)
mounted钩子函数一般用来向后端发起请求,拿到数据后做一些业务处理。该函数在模版渲染完成后才被调用。DOM操作一般是在mounted钩子函数中进行。
watch用于检测vue实例上数据的变动
默认加载的时候先computed再watch,不执行methods;等触发某一事件后,则是:先methods再watch。
methods方法有一定的触发条件,如click等。
所有方法都应该在methods里定义,在mounted或created里面使用this调用,用这种方法实现初始化。

代码实例:

<template>
  <div>

    <!-- 监听对象变化 -->

    输入名称:<input type="text" v-model="name"></input>
    监听数据变化赋值:{{ name1 }}

    <!-- 监听对象变化  用函数处理 -->

    输入名称:<input type="text" v-model="inputValue"></input>
    监听数据变化赋值:{{ watchInputValue }}


    <div id="aaa">{{ aaa }}</div>


  </div>
</template>
<script>
export default {
  name: "test",
  data() {
    return {
      name: "",
      name1: "",
      aaa: "1111",
      inputValue: "",
      watchInputValue: "",
      user: "11111",
      show1: false,
      sites: [
        {name: 'Runoob'},
        {name: 'Google'},
        {name: 'Taobao'}
      ]
    }
  },
  methods: {
    test() {
      console.log("test 执行了")
    },
    watchInputNameFunc(newName, oldName) {
      console.log(newName) // this.inputValue的值
      this.watchInputValue = this.inputValue // 也可以写成:this.watchInputValue = newName
      //alert(newName);
    }
  },
  created() {
    this.test();
    console.log("dom节点中的值", document.getElementById("aaa"));
  },
  watch: {
    inputValue: 'watchInputNameFunc',// 也可以写成:  'inputValue': 'watchInputNameFunc'
    name: {
      handler(newName, oldName) {
        console.log("name 执行了");
        this.name1 = newName
      }
    }
  },
  computed() {
    console.log("computed 执行了")
  },
  beforeMount() {
    console.log("beforeMount 执行了")
  },
  mounted() {
    console.log("mounted 执行了");
    console.log("dom节点中的值", document.getElementById("aaa"));
  }
}
</script>

<style scoped>

</style>

备注说明

设置了watch immediate:true 他的优先级会提到最前面

设置了watch immediate:true,监听的是计算属性的值 他的优先级应该会提到最前面,但是vue默认先computed 再执行watch

computed:(watch监听的)
watch:immediate
create
beforeMount
computed
mounted
watch

参考:https://blog.csdn.net/m0_49016709/article/details/122066570文章来源地址https://www.toymoban.com/news/detail-512556.html

到了这里,关于vue 初始化方法 create,beforeMount,mount,computed,watch 方法执行顺序及使用场景的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue初始化项目加载逻辑

    项目创建 我们只需要创建项目即可,剩余的依赖都没必要安装 我们先来看main.js,咱们加了一行备注 通过备注可知,我们首先加载的是App.vue 我们再来看一下App.vue 里都有啥 也就是下面这个红框里的内容才是 那下面的内容是哪里来的呢 那就需要看一下路由设置了 我们看到/目

    2024年02月08日
    浏览(104)
  • Set的初始化方法

    定义了一个Set后,我想把它初始化一下. 这种初始化的方法,比第一种要简单一些,利用的有两个Java知识点,一个是匿名内部类,一个是实例初始化块。 补充:对于这样的匿名类,是无法获取它的对象的。

    2024年02月11日
    浏览(40)
  • 1、前端项目初始化(vue3)

    安装npm,(可以用nvm管理npm版本)npm安装需要安装node.js(绑定销售?)而使用nvm就可以很方便的下载不同版本的node,这里是常用命令 配置npm源 命令: 设置镜像源: npm config set registry https://registry.npm.taobao.org 查看当前使用的镜像地址: npm config get registry 参考 :https://www.cnbl

    2024年01月20日
    浏览(53)
  • Vue 新版 脚手架 初始化 笔记

    Vue2/Vue3 修改 node 更新源 将默认的 更新源修改为 淘宝的 下载地址 安装 一般 新版 Vue 脚手架不可以共存 所以如果有 旧版的脚手架 会提示你 需要卸载 原来的脚手架 然后重新执行上面的安装 安装好之后 就可以去初始化项目了 值得一提的是我在官方的文档中找到了一个 在使

    2024年02月20日
    浏览(37)
  • C++结构体初始化方法

    在 C++ 里可以将结构体看作没有任何成员函数的对象,下面对 C++ 结构体的几种初始化方法进行总结。 如果只是想全部初始化为 0 可以按照如下方法 结构体包含数组(数组在结构体变量定义完就初始化为0) 直接赋值的方法虽然很直观,但是如果需要初始化多个结构体变量,

    2024年02月16日
    浏览(50)
  • 神经网络的初始化方法

    对于神经网络的训练过程中,合适的参数初始化方法有助于更好的处理梯度消失和梯度爆炸问题。 通常有以下几种初始化方法: 随机初始化(Random Initialization):最简单的初始化方法是随机生成参数的初始值。可以根据一定的分布(如均匀分布或正态分布)从一个较小的范

    2024年02月15日
    浏览(45)
  • 初始化vue中data中的数据

    当组件的根元素使用了v-if的时候, 并不会初始化data中的数据 如果想完全销毁该组件并且初始化数据,需要在使用该组件的本身添加v-if 或者是手动初始化该组件中的数据 下面详细说说Object.assign的用法: ES6的官方文档的解释是:Object.assign() 方法用于将所有可枚举属性的值从一

    2024年02月05日
    浏览(37)
  • Vue3+Vite 初始化Cesium

    git

    2024年02月11日
    浏览(37)
  • java中初始化数组的方法

    方式一: 注:此种方式创建的数组,如不显式初始化数组元素,则各元素为当前数据类型的默认值。基本数据类型为0,对象类型为null。所以使用前需要将各元素显式赋值。 方式二: 注:此方式与方式一的结果相同,但是更简便。 方式三: 注:此方式与方式一和方式二的结

    2024年02月12日
    浏览(45)
  • NumPy(1)-常用的初始化方法

    NumPy是Python中科学计算的基础包,它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。 功能强

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包