快速入门Vue3.0!跟我入门第一天,一起来看看跟vue2的区别❤

简介: 快速入门Vue3.0!跟我入门第一天,一起来看看跟vue2的区别❤

目录

1.setup

2.ref

3.reactive

4.torefs:

5.computed


vue3.0可以有多个根节点

1.setup

函数的用法,可以代替vue2中的data和methos属性,compued属性,都是直接写在setup中就可以了

1.//在script上加setup属性,组件编译过程中的代码运行是在setup函数中,所有es模块导出都认为暴露给上下文的值,并且包含在setup()返回对象中
// 定义setup
// setup是组件使用Composition API的入口函数
// 接收两个参数:props(接受组件props的属性),context(上下文对象,包含一些属性attrs,slots,emit)
// ,这些属性在vue2中需要通过this才能访问
setup(props,context) {
  console.log('1');
  // 在vue3的setup中不能访问vue2的this对象,只能在setup中通过context访问this中常用的几个属性
  // console.log(this.$emit());
}

2.ref

定义一个响应式的数据对象,如果要template中使用数据对象,必须return出去

  • ref:可以定义:字符串,数组,数组对象,对象 -如果访问ref中的属性数据,必须通过属性名,value
1.  // composition API
  // data,methods,computed,watch都是写在setup中
  setup(){//在setup里定义数据一定要返回出去return
  // 直接真么定义不是响应式的数据
    // const count = 0
    // 创建响应式数据对象count ,初始值为0
    const count = ref(0)
    const list = ref(['特仑苏','追梦'])
    // 定义数组对象
    const user = ref([
      {id:101,name:'特仑苏'},
      {id:102,name:'追梦'},
      ])
    // 在这里面写函数不需要写逗号
    let updUser=()=>{
      // 修改数据
      user.value[0].name="Terrance"
    }
    let getCount = ()=>{
      // 如果要访问ref()创建出来响应式数据对象的值,必须通过value属性才可以
      console.log(count.value);
    }
  }

3.reactive

也是用来定义响应式数据对象,类似vue2x中的data()返回的响应式对象


ref 与 reactive 这两种方法定义的都是响应式对象

ref:比较推荐定义基本数据类型

reactive: 推荐定义复杂数据类型时使用

4.torefs:

解构响应式对象的数据


把一个响应式对象转换成普通对象,普通对象的属性都一个ref,和响应式的属性一一对应

5.computed

计算属性 和vue2中的计算属性用法一样,computed写在setup函数中


 setup(){//在setup里定义数据一定要返回出去return
  // reactive也是创建响应式对象的
  // reactive创建的响应式数据对象,类似vue2x中的data()返回的响应式对象
      const data= reactive({
        test:'测试',
        user:{
          name:'木道人',
          sex:'男'
        },
        list:['a','b','c']
        })
        // 访问reactive时可以直接访问不用别的参数
        console.log(data.test);
        // 创建一个响应式对象user
        const user = reactive({
          firsName:'',
          lastName:''
        })
          // 根据user的值,创建一个响应式的计算属性fullName
          // 他会根据依赖自动计算返回一个新的响应式数据(ref)
        const fullName = computed(()=>{
          return user.firsName + '' +user.lastName
        })
        const  getFullName=()=>{
          console.log(fullName.value);
        }
    return{
      // 结构响应式数据对象
      // 用...扩展运算符解构响应式对象数据是不可行的,
      // 因为解构后就变成了普通变量,就没有了响应式的能力
      // ...data
        // toRefs把一个响应式的对象转换成普通对象,对data进行了包装,
        // 再使用...拓展符的方式,成为响应式的解构
      ...toRefs(data),
      ...toRefs(user),
      // 计算属性
      fullName,
      getFullName
    }
  }


博主公_号:前端老实人,期待各位小伙伴加入我们一起学习的队伍哦❤

相关文章
|
缓存 JavaScript 前端开发
Vue3与Vue2生命周期对比:新特性解析与差异探讨
Vue3与Vue2生命周期对比:新特性解析与差异探讨
1000 3
|
JavaScript 前端开发 API
Vue 3 中 v-model 与 Vue 2 中 v-model 的区别是什么?
总的来说,Vue 3 中的 `v-model` 在灵活性、与组合式 API 的结合、对自定义组件的支持等方面都有了明显的提升和改进,使其更适应现代前端开发的需求和趋势。但需要注意的是,在迁移过程中可能需要对一些代码进行调整和适配。
926 158
|
JavaScript 前端开发 算法
Vue 3 和 Vue 2 的区别及优点
Vue 3 和 Vue 2 的区别及优点
|
12月前
|
JavaScript 前端开发 API
Vue 2 与 Vue 3 的区别:深度对比与迁移指南
Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架,在过去的几年里,Vue 2 一直是前端开发中的重要工具。而 Vue 3 作为其升级版本,带来了许多显著的改进和新特性。在本文中,我们将深入比较 Vue 2 和 Vue 3 的主要区别,帮助开发者更好地理解这两个版本之间的变化,并提供迁移建议。 1. Vue 3 的新特性概述 Vue 3 引入了许多新特性,使得开发体验更加流畅、灵活。以下是 Vue 3 的一些关键改进: 1.1 Composition API Composition API 是 Vue 3 的核心新特性之一。它改变了 Vue 组件的代码结构,使得逻辑组
2300 0
|
JavaScript 前端开发 UED
vue2和vue3的响应式原理有何不同?
大家好,我是V哥。本文详细对比了Vue 2与Vue 3的响应式原理:Vue 2基于`Object.defineProperty()`,适合小型项目但存在性能瓶颈;Vue 3采用`Proxy`,大幅优化初始化、更新性能及内存占用,更高效稳定。此外,我建议前端开发者关注鸿蒙趋势,2025年将是国产化替代关键期,推荐《鸿蒙 HarmonyOS 开发之路》卷1助你入行。老项目用Vue 2?不妨升级到Vue 3,提升用户体验!关注V哥爱编程,全栈开发轻松上手。
923 2
|
JavaScript 前端开发 API
管理数据必备;侦听器watch用法详解,vue2与vue3中watch的变化与差异
一篇文章同时搞定Vue2和Vue3的侦听器,是不是很棒?不要忘了Vue3中多了一个可选项watchEffect噢。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发 API
从Vue 2到Vue 3的演进
从Vue 2到Vue 3的演进
279 17
|
JavaScript 前端开发 API
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
520 17
|
JavaScript 前端开发 开发者
Vue v-for 进阶指南:in 与 of 的区别及应用场景 | 笔记
Vue.js 中的 v-for 是强大的遍历指令,但其中的 in 和 of 关键字往往被开发者忽视。尽管它们的用法相似,但适用的场景和数据结构却各有不同。本文将详细探讨 v-for 中 in 和 of 的区别、适用场景以及在实际开发中的最佳使用时机。通过理解它们的差异,你将能够编写更加高效、简洁的 Vue.js 代码,灵活应对各种数据结构的遍历需求。
789 6
|
缓存 JavaScript
Vue 中 computed 与 method 的区别
【10月更文挑战第15天】computed 和 method 是 Vue 中两个重要的选项,它们在功能和特点上存在着明显的区别。理解并合理运用它们的区别,可以帮助我们构建更高效、更具可维护性的 Vue 应用。在实际开发中,要根据具体情况灵活选择使用,以满足不同的需求。
340 2

热门文章

最新文章