vue3中的写法以及,一些语法糖

news2024/9/29 13:31:03

vue3新增setup,属性执行比 created更早,同时setup中this不会指向实例)这个方法在onBeforeMounted之前被调用。


定义数据需要在数据前面加ref,ref在vue3中是将数据转换成响应式数据结构的一种,

因为vue3中没有了data(){ },那么就没办法劫持数据做到响应式数据,所以使用ref。

以下解释ref:

1.什么是ref

ref和reactive一样,也是用来实现响应式数据的方法

由于reactive必须传递一个对象,所以在实际开发中如果只是想让某个变量实现响应式的时候回非常麻烦

所以Vue3提供了ref方法实现简单值得监听

2.ref本质

ref底层其实还是reactive,所以当运行时系统会自动根据传入的ref转换成reactive.

3.ref注意点

在vue中使用ref的值不用通过value获取

在js中使用ref的值必须通过value获取

<template>
  <div>xxx</div>
</template>
<script setup>
  //setup自带语法糖
  //setup中没有this,所有的方法必须引入后使用 
  import {ref} from 'vue'
 let aa  =ref(123)
</script>
----------------------------------------
//系统自动return 相当于以下写法
----------------------------------------
<template>
  <div>xxx</div>
</template>
<script>
import {ref} from 'vue'
export default{
  setup() {
    //定义数据需要在数据前面加ref
    let aa=ref(123)
    return{
     aa
    }
  }
}
</script>

定义函数的写法,方法的绑定

<template>
  <div>
    <button @click="btn"></button>
  </div>
</template>
<script setup>
// 定义函数的写法
let btn = ()=>{
  console.log("匿名函数");
}
function btn(){
  console.log('普通函数');
}
</script>

定义组件使用defineProps语法糖,在 <script setup> 中可直接使用 defineProps 和 defineEmits API 来声明 props 和 emits ,它们具备完整的类型推断并且在 <script setup> 中是直接可用的,无需引入。

    //子组件中-- 定义Props
    const props = defineProps<{
        msg: number,
        name: string
    }>()
//-------------------------

  //父组件
<Aone name="结果" :msg="1"></Aone>

下面是一个综合小demo:

//组件名 Aone.vue
<template>
  这是a组件 -- {{ msg }}
</template>

<script setup lang="ts">

const props = defineProps({
  msg: String
})

</script>

<style>

</style>
<template>
  <div>
    [{{ count }}]
    <button @click="inf">+1</button>
    <br>
    ----------
    <br>
  </div>

  <div>
    <!-- 引入a组件 -->
    <Aone :msg="msg"></Aone>
  </div>

  <div>
    <!-- 绑定输入框到msg -->
    <input type="text" v-model="msg">
  </div>

</template>

<script setup lang="ts">
import { ref } from 'vue';
import Aone from './components/Aone.vue';

const count = ref(0)
// msg初值为123
const msg = ref('123')
const inf = () => {
  count.value++
}

</script>

<style>

</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/150176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PDF拆分成多个页面怎么办?这三个方法让你实现将文件拆分成多页

PDF是我们常见的文件格式之一&#xff0c;在日常办公中&#xff0c;我们经常会将WORD、PPT、EXCEL等文档转换成PDF的格式后再进行传输&#xff0c;这样不仅传输速度快&#xff0c;格式也不会出现乱码的情况&#xff0c;但在一些特殊的场景下&#xff0c;我们也需要将一份完整的…

Allegro174版本新功能介绍之锁定菜单栏设置

Allegro174版本新功能介绍之锁定菜单栏设置 用Allegro设计的时候,经常因为切换了Symphony team design模式导致菜单栏变化,使用的时候又需要重新去调用一次,十分麻烦 但是在Allegro升级到了174的时候,有一个锁定菜单栏的功能 具体操作如下 选择Setup选择User Prefrences

代谢组学喜讯|百趣生物与金域医学达成代谢组学战略合作

2023年1月4日&#xff0c;上海百趣生物医学科技有限公司&#xff08;“百趣生物”&#xff09;与广州金域医学检验集团股份有限公司&#xff08;“金域医学”&#xff09;在广州举行战略合作签约仪式。双方将在代谢组学科研服务和临床转化方面进行深度合作&#xff0c;共同致力…

2022年餐饮连锁行业研究报告

第一章 行业概况 餐饮连锁是餐饮的一种发展模式&#xff0c;指餐饮企业通过连锁经营和特许经营的方式进行扩张。根据商务部发布的《特许经营管理办法》&#xff1a;连锁企业必须具备2店1年才有出售特许经营权的权利。餐饮连锁是餐饮业发展到一定程度时的一个必然的产物&#x…

深度学习入门之ResNet食物图像分类

前言 参加了华为一个小比赛第四届MindCon-爱&#xff08;AI&#xff09;美食–10类常见美食图片分类&#xff0c;本来想实践机器学习课程的知识&#xff0c;后来发现图像分类任务基本都是用神经网络做&#xff0c;之前在兴趣课上学过一点神经网络但不多&#xff0c;通过这样一…

Android UI界面刷新机制

一 前言 作为严重影响 Android 口碑问题之一的 UI 流畅性差的问题&#xff0c;首先在 Android 4.1 版本中得到了有效处理。其解决方法即在 4.1 版本推出的 Project Butter。Project Butter 对 Android Display系统进行了重构&#xff0c;引入三个核心元素&#xff1a;VSYNC、T…

nmake文件学习记录(一)看《跟我一起写Makefile》

1、陈皓《跟我一起写Makefile》 makefile 带来的好处就是——“自动化编译”&#xff0c;一旦写好&#xff0c;只需要一个make 命令&#xff0c;整个工程完全自动编译&#xff0c;极大的提高了软件开发的效率。 make 是一个命令工具&#xff0c;是一个解释makefile 中指令的命…

线程池(ThreadPoolExecutor)

文章目录一、线程池标准库提供的线程池ThreadPoolExecutor自定义线程池一、线程池 为什么要引入线程池? 这个原因我们需要追溯到线程&#xff0c;我们线程存在的意义在于&#xff0c;使用进程进行并发编程太重了&#xff0c;所以引入了线程&#xff0c;因为线程又称为 “轻量…

【知识图谱导论-浙大】第三、四章:知识图谱的抽取与构建

前文&#xff1a; 【知识图谱导论-浙大】第一章&#xff1a;知识图谱概论 【知识图谱导论-浙大】第二章&#xff1a;知识图谱的表示 说明&#xff1a;原视频中的第三章主要介绍了图数据库相关的内容&#xff0c;有兴趣的可以查看相关课件或者对应的视频&#xff1a; 【知识图…

[Linux理论基础1]----手写和使用json完成[序列化和反序列化]

文章目录前言一、应用层二、再谈"协议"三、 网络版计算器手写版本使用第三方库json实现完整代码总结前言 理解应用层的作用,初始HTTP协议;理解传输层的作用,深入理解TCP的各项特性和机制;对整个TCP/IP协议有系统的理解;对TCP/IP协议体系下的其他重要协议和技术有一定…

JPG格式如何转为PDF格式?快来学习如何转换

图片是我们经常用到的一种便携式文件&#xff0c;像我们日常的照片或者是一些学习资料、工作资料都是图片形式的&#xff0c;我们经常会把这些图片发送给其他人&#xff0c;这时候就需要想一个简单的办法把图片一次性发送过去&#xff0c;所以我们可以将图片转换为PDF文件&…

暨 广告、推荐、搜索 三大顶级复杂业务之 “广告业务系统详叙”

文章目录暨 广告、推荐、搜索 三大顶级复杂业务之 “广告业务系统详叙”广告系统的核心功能ADX 架构流程概述典型 ADX 架构图概述消息中心抱歉&#xff0c;有段日子没码字了&#xff0c;后面会尽量补出来分享给大家。这段时间整理了关于 “广告业务” 相关的思考&#xff0c;作…

OSPF笔记(五):OSPF虚链路--普通区域远离骨干区域

一、OSPF 虚链路 1.1 虚链路邻居关系&#xff1a; hello包只发送一次&#xff0c;没有dead时间 虚链路配置邻居指的是RID&#xff0c;非接口IP 1.2 虚链路解决的问题&#xff1a; 普通区域远离骨干区域0的问题 普通区域连接两个骨干区域0问题 &#xff08;1&#xff09;…

SpringSecurity授权功能快速上手

3. 授权 3.0 权限系统的作用 例如一个学校图书馆的管理系统&#xff0c;如果是普通学生登录就能看到借书还书相关的功能&#xff0c;不可能让他看到并且去使用添加书籍信息&#xff0c;删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了&#xff0c;应该就能看到并…

最新款发布 | 德州仪器(TI)60G单芯片毫米波雷达芯片 -xWRL6432

本文编辑&#xff1a;调皮哥的小助理 概述 最近&#xff0c;德州仪器(TI)推出了单芯片低功耗 57GHz 至 64GHz 工业(汽车)毫米波雷达传感器IWRL6432&#xff0c;具有 7GHz 的连续带宽&#xff0c;可实现更高分辨率。除了UWB雷达之外&#xff0c;IWRL6432目前是毫米波雷达带宽最…

漏洞挖掘-不安全的HTTP方法

前言&#xff1a; 年关将至&#xff0c;这可能是年前最后一篇文章了。已经有一段时间没有更新文章了&#xff0c;因为最近也没有学到什么新的知识&#xff0c;也就没什么可写的&#xff0c;又不想灌水。最近关注的好兄弟们多了很多&#xff0c;在这里也是十分感谢大家的支持&am…

Make RepVGG Greater Again | 中文翻译

性能和推理速度之间的权衡对于实际应用至关重要。而重参化可以让模型获得了更好的性能平衡&#xff0c;这也促使它正在成为现代卷积神经网络中越来越流行的架构。尽管如此&#xff0c;当需要INT8推断时&#xff0c;其量化性能通常太差&#xff0c;无法部署&#xff08;例如Imag…

SQL BETWEEN 操作符

BETWEEN 操作符用于选取介于两个值之间的数据范围内的值。 SQL BETWEEN 操作符 BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。 SQL BETWEEN 语法 SELECT column1, column2, ... FROM table_name WHERE column BETWEEN value1 AND va…

力扣714题 买卖股票的最佳时机含手续费

class Solution {public int maxProfit(int[] prices, int fee) {// 买第一天股票所需要的全部费用(买入)int buy prices[0] fee; // 利润总和int sum 0;for(int p:prices){// 如果买后些天的股票所需的全部费用比第一天的少,就买后边这天的(买入)if(p fee < buy){buy …

【Python】python深拷贝和浅拷贝(一)

【Python】python深拷贝和浅拷贝&#xff08;一&#xff09; 定义 直接赋值&#xff1a;其实就是对象的引用。浅拷贝&#xff1a;拷贝父对象&#xff0c;不会拷贝对象的内部的子对象。深拷贝&#xff1a; copy 模块的 deepcopy 方法&#xff0c;完全拷贝了父对象及其子对象。…