举报投诉联系我们 手机版 热门标签 VUE中文网
您的位置:VUE中文网 > Vue 3.0 Data选项

Vue 3.0 Data选项

2023-02-23 23:17 VUE3教程

 Vue 3.0 Data选项

代码是计算机程序的基本构成单位,它是由一定的规则和语法组成的文字信息,用来表达计算机指令。代码可以用来控制计算机,实现特定功能。

代码可以分为高级语言和低级语言。高级语言是一门人工语言,具有易于理解、易于使用的特性;而低级语言是一门机器语言,具有运行速度快、效率高的特性。

在开发过程中,代码是必不可少的一部分。开发者需要根据需求来写出合适的代码,并将其正确地连接在一起;然后将代码上传到相应的平台上去执行。

此外,开发者还需要对代码进行测试和优化;测试时要考察代码是否能够正常工作、能否正常执行功能、能否避免出错以及性能如何。优化时要考察如何使得代码更加易于理解、易于使用、运行速度快、效率高。

总之,代码是开发者不可或者不愿意省略的重要部分。它不仅决定了开发者手中的作品能否正常工作、性能如何;也决定了开发者手中的作品能否得到大众的好评与支撑。

#概览

  • 非兼容data 组件选项声明不再接收纯 JavaScript object,而需要 function 声明。

当合并来自 mixin 或 extend 的多个 data 返回值时,现在是浅层次合并的而不是深层次合并的(只合并根级属性)。

#2.x Syntax

在 2.x 中,开发者可以定义 data 选项是 object 或者是 function

例如:

<!-- Object 声明 -->
<script>
  const app = new Vue({
    data: {
      apiKey: "a1b2c3"
    }
  })
</script>


<!-- Function 声明 -->
<script>
  const app = new Vue({
    data() {
      return {
        apiKey: "a1b2c3"
      }
    }
  })
</script>

虽然这对于具有共享状态的根实例提供了一些便利,但是由于只有在根实例上才有可能,这导致了混乱。

#3.x Update

在 3.x,data 选项已标准化为只接受返回 objectfunction

使用上面的示例,代码只有一个可能的实现:

<script>
  import { createApp } from "vue"


  createApp({
    data() {
      return {
        apiKey: "a1b2c3"
      }
    }
  }).mount("#app")
</script>

#Mixin 合并行为变更

此外,当来自组件的 data() 及其 mixin 或 extends 基类被合并时,现在将浅层次执行合并:

const Mixin = {
  data() {
    return {
      user: {
        name: "Jack",
        id: 1
      }
    }
  }
}
const CompA = {
  mixins: [Mixin],
  data() {
    return {
      user: {
        id: 2
      }
    }
  }
}

在 Vue 2.x中,生成的 $data 是:

{
  user: {
    id: 2,
    name: "Jack"
  }
}

在 3.0 中,其结果将会是:

{
  user: {
    id: 2
  }
}

#迁移策略

对于依赖对象声明的用户,我们建议:

  • 将共享数据提取到外部对象并将其用作 data 中的 property
  • 重写对共享数据的引用以指向新的共享对象

对于依赖 mixin 的深度合并行为的用户,我们建议重构代码以完全避免这种依赖,因为 mixin 的深度合并非常隐式,这让代码逻辑更难理解和调试。

阅读全文
以上是VUE中文网为你收集整理的 Vue 3.0 Data选项全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • vue的函数式组件 Vue 3.0 函数式组件

    vue的函数式组件 Vue 3.0 函数式组件

    2023-02-24 VUE3教程

    #概览就变化而言,属于高等级内容:在 3.x 中,函数式组件 2.x 的性能提升可以忽略不计,因此我们建议只使用有状态的组件函数式...

  •  Vue 3.0 选项 杂项

    Vue 3.0 选项 杂项

    2023-02-23 VUE3教程

    #name类型:string详细:允许组件模板递归地调用自身。注意,组件在全局用 Vue.createApp({}).component({}) 注册时,全局 ID 自...

  • vue3.0实战 Vue 3.0 介绍

    vue3.0实战 Vue 3.0 介绍

    2023-02-24 VUE3教程

    提示已经了解 Vue 2,只想了解 Vue 3 的新功能可以参阅迁移指南!#Vue.js 是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建...

  • vue @事件 Vue 3.0 事件API

    vue @事件 Vue 3.0 事件API

    2023-02-23 VUE3教程

    #概览$on,$off 和 $once 实例方法已被移除,应用实例不再实现事件触发接口。#2.x 语法在 2.x 中,Vue 实例可用于触发通过事件触...

  •  Vue 3.0 应用&组件实例

    Vue 3.0 应用&组件实例

    2023-02-25 VUE3教程

    #创建一个应用实例每个 Vue 应用都是通过用 createApp 函数创建一个新的应用实例开始的:const app = Vue.createApp({})该应用实...

© 2024 VUE中文网 vue88.com 版权所有 联系我们