Vue3_基础使用_2

news2024/11/15 5:57:30

这节主要介绍:标签和组件的ref属性,父子组件间的传递值,ts的接口定义,vue3的生命周期

1.标签的ref属性。

   1.1ref属性就是给标签打标识用的,相当于html的id,但是在vue3中用id可能会乱,下面是ref的使用。
打一个普通标签,并且将对象转为ref的响应式:

//1 ref是标识类似ID,获取标识的值
<span ref='title1'>AAA</span>
<script lang="ts" setup>
   let title1=ref();//变量要与html的ref相同
   console.log(title1.value);
</script>
1.2给组件标记一个ref属性,并且实现    子组件  给   父组件传递数据。

子组件留意  defineExpose({a,b});  //让父组件看那个就交出去哪个,不交父组件就拿不到。

  //子组件
	<script lang="ts" setup>
	   import{ref,defineExpose}from 'vue'
	   let a=ref(100);//声明一个响应式变量
	   let b=ref(200);
	   defineExpose({a,b});//让父组件看那个就交出去哪个
	</script>

父组件接收

   //父组件中
    <person ref='ren'/><!--给子组件标记ref属性-->
	<script lang="ts" setup>
	   import{ref}from 'vue'
	   let ren=ref();//获取子组件
	   console.log(ren.value);//这里面有子组件给的数据
	</script>

2 .ts的接口定义

  a.新建个文件夹types里面建立index.ts文档

   定义了一个对象接口规范,后面定义这个对象都得按这个规范来(名称,类型).

export interface personInterface{
   id:string,
   name:string,
   age:string
}//定义对象接口规范并暴露出去

  定义一个对象数组接口标准

//4定义个自定义类型(就是个数组)
export type interface persons=Array<personInterface>
//personInterface[]也行  //定义数组接口规范

 ts定义这些的好处是在后面的使用中保证不会写错,都要准守的标准。

利用接口定义对象及数组对象:

//引入ts文件  @代表到根目录,如果是index可以不写
import {type personInterface,type persons} from '@/types/index.ts'

//使用对象接口规范 如果你的属性及类型错了它会提示
let person:personInterface ={id:'001',name:'张三',age:20}

//使用自定义数组规范
let personlist:persons=[{id:'001',name:'张三',age:20},,,]

3 利用上面的接口  父组件给子组件传递数据,保证了正确性。

父组件中:

//引入
import {type personInterface,type persons} from '@/type'
//1父组件根据接口 定义对象数组
let personlist:persons=[{id:'001',name:'张三',age:20},{id:'002',name:'张4',age:23}]
//2传递给子组件
<person :list='personlist' />

子组件中: 

//子组件  只接收
import{defineProps}from 'vue'
let v=defineProps(['list']);//v.list;数组内可以是多个
<span>{{list}}</span>//html 可以直接使用

//子组件  接收+限制类型   告诉父组件我只要persons的值
defineProps<list?:persons>()//这个list对应父组件写的参数名称,加?:可以不传

//子组件 接收+限制类型+默认值
//告诉父组件  我要一个persons类型的数组,若不给我就显示默认的值
import{withDefaults}from 'vue'
withDefaults(defineProps<list?:persons>(),{
	list:()=>[{id:'001',name:'张三',age:20}]
})

以上三种接收方式。

4 vue3的生命周期:

vue2生命周期
  创建(创建前beforeCreate   创建完成created)
  挂载(挂载前beforeMount    挂载完成mounted)
  更新(更新前beforeUpdate   更新完成updated)//页面有更新才执行
  销毁(销毁前beforeDestroy  销毁完成destroyed)

vue3生命周期
  创建  <script setup>...这里直接写就是创建</setup>
  挂载 
      import{onBeforeMount,onMounted}from 'vue'
      onBeforeMount(()=>{...挂载代码});      onMounted(()=>{...挂载完毕代码});
  更新
     import{onBeforeUpdate,onUpated}from 'vue'
     onBeforeUpdate(()=>{...更新代码});      onUpated(()=>{...更新完毕代码});
  卸载
     import{onBeforeUnmount,onUnmounted}from 'vue'
     onBeforeUnmount(()=>{...卸载代码});   onUnmounted(()=>{...卸载完毕代码});

vue3将销毁改为了卸载,创建只有一个方法,直接在setup中写即可,以上还不包括路由的钩子。

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

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

相关文章

跟着cherno手搓游戏引擎【18】抽象Shader、项目小修改

抽象&#xff1a; Shader.h: #pragma once #include <string>namespace YOTO {class Shader {public:virtual~Shader()default;virtual void Bind()const0;virtual void UnBind()const0;static Shader* Create(const std::string& vertexSrc, const std::string&am…

软考高项-机考相关介绍论文写作基础介绍

机考相关 初、中级(信息处理技术员除外)资格:基础知识和应用技术2个科目连考,基础知识科目最短作答时长90分钟,最长作答时长120分钟,2个科目作答总时长240分钟,考试结束前60分钟可交卷离场 历年论文考题

java数据结构与算法刷题-----LeetCode15. 三数之和

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 解题思路 和LeetCode1.两数之和一样&#xff0c;但是这道题边界条件更多。…

Flutter 各种Demo效果合集

Flutter 各种Demo实现效果&#xff1a; github&#xff1a;GitHub - PangHaHa12138/FlutterDemo: Flutter 各种Demo效果合集 1&#xff1a;2种 仿朋友圈 效果,顶部拉伸 和 不拉伸 2&#xff1a;仿抖音上下滑动视频播放 3&#xff1a;视频直播&#xff08;使用的电视台的m3u…

云计算基础(云计算概述)

目录 一、云计算概述 1.1 云计算的概念 1.1.1 云计算解决的问题 1.1.2 云计算的概念 1.1.3 云计算的组成 1.2 云计算主要特征 1.2.1 按需自助服务 1.2.2 泛在接入 1.2.3 资源池化 1.2.4 快速伸缩性 1.2.5 服务可度量 1.3 云计算服务模式 1.3.1 软件即服务(Softwar…

C#验证字符串是否包含汉字:用正则表达式 vs 用ASCII码 vs 用汉字的 Unicode 编码

目录 一、使用的方法 1.使用正则表达式验证字符串 2.使用正则表达式验证字符 3.用ASCII码判断 4.用汉字的 Unicode 编码范围判断 二、实例 1.源码 2.生成效果 验证一个字符串是否是纯汉字或者包含有汉字的前提&#xff0c;是VS编辑器的默认编码格式设置为&#xff1a;选…

Vite与Webpack打包内存溢出问题优雅处理方式

Vite与Webpack打包内存溢出问题处理 文章目录 Vite与Webpack打包内存溢出问题处理1. Vite1. 打包错误提示2. 命令行方式解决3. 配置环境变量方式解决1. 设置变量2. 配置系统的环境变量 2. Webpack1. 打包错误提示2. 命令行方式解决3. 配置环境变量方式解决1. 设置变量2. 配置系…

Llama2大模型开源,大模型的Android时代来了?

就昨天凌晨,微软和Meta宣布Llama2大模型开源且进一步放开商用,一下朋友圈刷屏。要知道,开源界最强大的模型就是过去Meta开源的Llama,而现在Llama2更强大,又开放商用,更有微软大模型霸主企业撑腰(微软既投资大模型界的IOS——ChatGPT,又联合发布大模型的Android——Llam…

旧衣物回收小程序开发,互联网模式下的营收有多大?

在当下快节奏的生活中&#xff0c;人们不仅生活水平在提高&#xff0c;消费水平也在逐渐提高&#xff0c;从而导致了闲置衣物的增加。为了减少浪费&#xff0c;旧衣服回收行业受到了大众的广泛关注&#xff0c;成为循环利用的一大方式。 当然&#xff0c;在当下网络时代&#…

Docker 阿里云镜像仓库CR使用实践

一、使用容器镜像&#xff0c;查看镜像&#xff0c;创建&#xff0c;推送&#xff0c;拉取阿里云镜像 CR镜像管理&#xff08;阿里云容器镜像服务&#xff08;Container Registry&#xff09;&#xff09; 登录实例 未创建的镜像名称也可以push、docker的私有仓库需要提起创建…

C语言——深入理解指针(1)

目录 1.内存和地址 a 内存的理解 b 如何理解编址 2.指针变量和地址 a 取地址操作符 b 指针变量 c 解引用操作符 d 指针变量的大小 1.内存和地址 a 内存的理解 假想这样一个场景&#xff0c;你的朋友找你玩&#xff0c;到了你家小区&#xff0c;如何让她迅速的找到…

时间复杂度为 O(n) 的排序算法

大家好&#xff0c;我是 方圆。本文介绍线性排序&#xff0c;即时间复杂度为 O(n) 的排序算法&#xff0c;包括桶排序&#xff0c;计数排序和基数排序&#xff0c;它们都不是基于比较的排序算法&#xff0c;大家重点关注一下这些算法的适用场景。 桶排序 桶排序是分治策略的一…

Sentinel应用笔记

概念 当A、B、G、H掉线&#xff0c;其他服务就没法通信了 随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点&#xff0c;从流量控制、流量路由、熔断降级、系统自适应过载保护、热点流量防护等多个维度保护服务的稳定性。 特性…

如何在PS5上使用金手指修改游戏

环境&#xff1a;windows PS5 问题&#xff1a;PS5 没有GodHen&#xff0c;无法使用json金手指&#xff0c;PKG金手指比较少 解决办法&#xff1a;使用MultiTrainerv从网络注入PS5&#xff0c;修改进程内存 背景&#xff1a;为了护肝&#xff0c;拒绝刷刷刷 解决过程&#xff…

切换登录时,清空input输入框

在uniapp登录页面时&#xff0c;会出现几种登录方式&#xff0c;当切换登录方式时&#xff0c;会出现input复用问题。像下面图中所示。 出现复用的原因是&#xff1a;Vue在进行Dom渲染时&#xff0c;出于性能考虑&#xff0c;会复用已经存在的元素&#xff0c;而不是重新创建新…

计算机网络——链路层(1)

计算机网络——链路层&#xff08;1&#xff09; 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU)前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c; [跳转到网站](https://www.captainbed.…

【Spark实践6】特征转换FeatureTransformers实践Scala版--补充算子

本节介绍了用于处理特征的算法&#xff0c;大致可以分为以下几组&#xff1a; 提取&#xff08;Extraction&#xff09;&#xff1a;从“原始”数据中提取特征。转换&#xff08;Transformation&#xff09;&#xff1a;缩放、转换或修改特征。选择&#xff08;Selection&…

freertos 源码分析二 list链表源码

list.c 一、链表初始化 void vListInitialise( List_t * const pxList ) { pxList->pxIndex ( ListItem_t * ) &…

Python flask 模板详解

文章目录 1 概述1.1 模板简介1.2 templates 文件1.3 简单应用 2 模板语法2.1 for 循环2.2 if 判断 3 模板的继承3.1 格式要求3.2 实现示例3.3 复用父模板的内容&#xff1a;super 1 概述 1.1 模板简介 定义&#xff1a;定义好的 html 文件&#xff0c;用于快速开发 web 页面J…

图像处理python基础

array 读取图片 tensor 模型预测 一般过程&#xff1a;读取数据np->tensor->model->result->np->画图 shape确保图像输入输出尺寸正确 读取图片 将在GPU上运行的tensor类型转变成在CPU上运行的np类型 三类计算机视觉任务的输入&#xff1a; 分类&#xff1…