三、组件与数据交互

news2024/11/18 3:19:58

一、组件基础

1、单文件组件

第一步:引入组件 import ComponentTest from './components/ComponentTest.vue'
第二步:挂载组件 components: {ComponentTest }
第三步:显示组件 <ComponentTest></ComponentTest>
<!-- 父组件 -->
<template>
  <ComponentTest></ComponentTest>
</template>

<script>
import ComponentTest from './components/ComponentTest.vue'

export default {
  name: 'App',
  components: {
    ComponentTest
  }
}
</script>

<style></style>
<!-- 子组件 -->
<template>
    <h3>单文件组件</h3>
</template>
  
<script>
export default {
    name: "ComponentTest"
}
</script>
  
<!-- stye添加scoped修饰,表示属性尽在当前组件中生效 -->
<style scoped>
h3 {
    color: red;
}
</style>

在这里插入图片描述

二、Props组件交互(向下传递)

1、Props组件交互

<!-- 父组件 -->
<template>
  <h3>prop组件交互</h3>
  <ComponentTest :message="msg" :values="values"></ComponentTest>
</template>

<script>
import ComponentTest from './components/ComponentTest.vue'

export default {
  name: 'App',
  components: {
    ComponentTest
  },
  data() {
    return {
      msg: "数据信息",
      values: [1, 2, 3]
    }
  }
}
</script>

<style></style>
<!-- 子组件 -->
<template>
    <h3>单文件组件数据:{{ message }}</h3>
    <ul>
        <li v-for="(item, index) in values" :key="index">{{ item }}</li>
    </ul>
</template>
  
<script>
export default {
    name: "ComponentTest",
    props: {
        message: {
            type: String,
            default: ""
        },
        values: {
            type: Array,
            // 数组和对象的默认值必须使用函数返回
            default: function () {
                return [];
            }
        }
    }
}
</script>

<!-- stye添加scoped修饰,表示属性尽在当前组件中生效 -->
<style scoped>
h3 {
    color: red;
}
</style>

在这里插入图片描述

三、自定义事件组件交互(向上传递)

1、自定义事件组件交互

<!-- 父组件 -->
<template>
  <h3>自定义事件组件交互</h3>
  <ComponentTest @onMsg="GetMsg"> </ComponentTest>
</template>

<script>
import ComponentTest from './components/ComponentTest.vue'

export default {
  name: 'App',
  components: {
    ComponentTest
  },
  methods: {
    GetMsg(data) {
      console.log(data);
    }
  }
}
</script>

<style></style>
<!-- 子组件 -->
<template>
    <button @click="sendClickHandle">发送数据给父组件</button>
</template>
  
<script>
export default {
    name: "ComponentTest",
    data() {
        return {
            msg: "子组件数据"
        }
    },
    methods: {
        sendClickHandle() {
            // 父组件监听的事件名称,字符串 
            // 向父组件传递的参数
            this.$emit("onMsg", this.msg);
        }
    }
}
</script>

<!-- stye添加scoped修饰,表示属性尽在当前组件中生效 -->
<style scoped>
h3 {
    color: red;
}
</style>

在这里插入图片描述

四、组件生命周期

1、组件生命周期

在这里插入图片描述
创建:brforeCreate、created
渲染:brforeMount、mounted
更新:brforeUpdate、updated
卸载:brforeUnmount、unmounted

<!-- 父组件 -->
<template>
  <h3>组件生命周期</h3>
  <ComponentTest></ComponentTest>
</template>

<script>
import ComponentTest from './components/ComponentTest.vue'

export default {
  name: 'App',
  components: {
    ComponentTest
  }
}
</script>

<style></style>
<!-- 子组件 -->
<template>
    <p>{{ msg }}</p>
    <button @click="msg = '更新后'">更新数据</button>
</template>
  
<script>
export default {
    name: "ComponentTest",
    data() {
        return {
            msg: "子组件数据"
        }
    },
    beforeCreate() {
        console.log("组件创建之前");
    },
    created() {
        console.log("组件创建之后");
    },
    beforeMount() {
        console.log("组件渲染之前");
    },
    mounted() {
        console.log("组件渲染之后");
    },
    beforeUpdate() {
        console.log("组件更新之前");
    },
    updated() {
        console.log("组件更新之后");
    },
    beforeUnmount() {
        console.log("组件卸载之前");
    },
    unmounted() {
        console.log("组件卸载之后");
    }
}
</script>

<!-- stye添加scoped修饰,表示属性尽在当前组件中生效 -->
<style scoped>
h3 {
    color: red;
}
</style>

在这里插入图片描述

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

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

相关文章

python requests爬取税务总局税案通报、税务新闻和政策解读

文章目录 环境配置页面爬取流程税案通报爬取code税务新闻爬取政策解读爬取 环境配置 python&#xff1a;3.7 requests&#xff1a;发出请求&#xff0c;返回页面 beautifulsoup&#xff1a;解析页面 time&#xff1a;及时 warnings&#xff1a;忽视警告 页面 网址&#xff1…

游戏d3dcompiler_43.dll缺失怎么修复,分享5个快速有效的修复方法

最近我遇到了一个特别棘手的问题&#xff1a;当我试图运行一款新的游戏时&#xff0c;我收到一个令人困惑的错误消息&#xff0c;提示“d3dcompiler_43.dll丢失”。这个问题给我的游戏生活带来了很大的困扰&#xff0c;因为我热爱的游戏突然之间变得无法游玩。在这篇文章中&…

Android屏幕刷新机制

基础知识 CPU运行在Android设备上的中央处理器&#xff08;Central Processing Unit&#xff09;是Android设备的核心组件之一&#xff0c;负责执行计算和控制设备的各种操作。 Android设备上的CPU通常采用ARM架构&#xff0c;如ARM Cortex-A系列处理器。这些处理器具有高性能…

C++ Primer笔记002:引用/指针/const

文章目录 1. 引用1.1 引用不是对象或变量1.2 引用必须初始化1.3 不能定义引用的引用1.4 引用类型要适配1.5 非const引用不能绑定字面值 2. 指针2.1 指针和引用的区别2.2 指针的指针2.3 类型一致2.4 指针的引用2.5 void 型指针 3. const3.1 const的基本作用3.2 对const变量的引用…

【VisualStudio 】VisualStudio2022 项目模板

引言 最近写项目已经形成的自己的套路&#xff1a;新建一个prism工程&#xff0c;添加主界面&#xff0c;配置界面&#xff0c;等&#xff0c;很多常用功能已经封装成项目进行复用。如果每次来了一个新的活&#xff0c;重新配置这些都是完全重复的工作&#xff08;大概需要十几…

第三章 Python 机器学习入门之C4.5决策树算法

系列文章目录 第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 第二章 Python 机器学习入门之逻辑回归 番外 Python 机器学习入门之K近邻算法 番外 Python 机器学习入门之K-Means聚类算法 第三章 Python 机…

C++多态、虚函数、纯虚函数、抽象类

多态的概念 通俗来说&#xff0c;就是多种形态&#xff0c;具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 举个简单的例子&#xff1a;抢红包&#xff0c;我们每个人都只需要点击一下红包&#xff0c;就会抢到金额。有些人能…

Windows11突然VM虚拟机无法运行报错与 Device/Credential Guard 不兼容

windows11长时间没用vmware,突然使用时打开报一下错&#xff1a; 解决方案&#xff1a; 以管理员身份运行“Windows Powershell (管理员)”&#xff08;Windows键X键&#xff09;&#xff0c;输入以下命令重启电脑。 bcdedit /set hypervisorlaunchtype off 注意&#xff1a…

有哪些专业的配音APP推荐?

作为当今社交媒体时代的一员&#xff0c;我们经常需要在各种场合中使用配音软件&#xff0c;无论是自制视频内容还是进行个人创作&#xff0c;一款好用且免费的配音软件显得很重要。今天给大家分享一款备受好评的免费配音软件&#xff0c;它不仅功能强大&#xff0c;而且操作简…

2023年【山东省安全员A证】考试内容及山东省安全员A证考试报名

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 山东省安全员A证考试内容是安全生产模拟考试一点通生成的&#xff0c;山东省安全员A证证模拟考试题库是根据山东省安全员A证最新版教材汇编出山东省安全员A证仿真模拟考试。2023年【山东省安全员A证】考试内容及山东省…

MS17010(永恒之蓝)漏洞实战

曾因苦难多壮志&#xff0c;不教红尘惑坚心。 工具检测 实战过程 使用搜索命令&#xff0c;搜索ms17_010 search ms17_010 搜索网段中主机漏洞 use auxiliary/scanner/smb/smb_ms17_010 照例&#xff0c;show options 看一下配置 设置网段&#xff0c;run运行就行了 使用攻…

leetcode 310 最小高度树

树是一个无向图&#xff0c;其中任何两个顶点只通过一条路径连接。 换句话说&#xff0c;一个任何没有简单环路的连通图都是一棵树。 给你一棵包含 n 个节点的树&#xff0c;标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表&#xff08;每一个边都是一对…

代码随想录算法训练营第二十九天 | 回溯算法总结

​ 代码随想录算法训练营第二十九天 | 回溯算法总结 1. 组合问题 1.1 组合问题 在77. 组合中&#xff0c;我们开始用回溯法解决第一道题目&#xff1a;组合问题。 回溯算法跟k层for循环同样是暴力解法&#xff0c;为什么用回溯呢&#xff1f;回溯法的魅力&#xff0c;用递…

excel常用的几个函数

1、MID函数 通常用来返回返回指定字符串中的子串。 函数公式&#xff1a; MID(string, starting_at, extract_length) String&#xff08;必填&#xff09;&#xff1a;包含要提取字符的文本字符串 starting_at&#xff08;必填&#xff09;&#xff1a;文本中要提取的第一个字…

Tomcat及jdk安装下载及环境配置(超超超详解)

我是看了两篇博客安装配置好的 jdk 最详细jdk安装以及配置环境&#xff08;保姆级教程&#xff09;_安装jdk需要配置环境变量吗-CSDN博客 tomcat Tomcat的下载安装与配置及常见问题处理【Win11】 - 鞠雨童 - 博客园 (cnblogs.com) 本篇文章是我解决了很多朋友的tomcat配置问题总…

基于RIP的MGRE实验

题目及视图&#xff1a; 实验要求&#xff1a; 1.R5为ISP&#xff0c;只能进行IP地址配置&#xff0c;其所有地址均配为公有IP地址 2.R1和R5间使用PPP的PAP认证&#xff0c;R5为主认证 R2与R5之间使用ppp的CHAP认证&#xff0c;R5为主认证方 R3与R5之间使用HDLC封装 3.R1…

【C++学习笔记】引用

1. 概念 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空 间&#xff0c;它和它引用的变量共用同一块内存空间。 比如&#xff1a;孙悟空&#xff0c;有人叫弼马温&#xff0c;也有人称为齐天大圣。 1.1 使用方…

计算机毕业设计 基于SpringBoot智慧养老中心管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

粤嵌实训医疗项目--day01(Vue+SpringBoot)

目录 一、创建工作空间及配置Maven环境 二、创建springboot项目整合web操作 三、http请求参数获取及登录页面访问操作 四、数据库设计、数据库创建及导入sql 五、使用mybatis-plus逆向工程生成代码【vaccinum】 六、JavaEE三层架构概念及user查询实现 七、mybatis-plus逆…