当前位置: 首页 > news >正文

vue helloworld.vue 点击按钮弹出 dialog,并给dialog传值

1 DataAnalysisVue.Vue -->应该组件文件名和 name: 的名字一致

<template><div><el-dialog :title="dataAnalysisMsg" :visible.sync="dataAnalysisvalue" :before-close="handleClose"><span>{{ dataAnalysisMsg }}</span><span slot="footer" class="dialog-footer"><el-button @click="dataAnalysisvalue= false">取 消</el-button><el-button type="primary" @click="dataAnalysisvalue = false">确 定</el-button></span></el-dialog></div>
</template><script>export default {name: 'DataAnalysisVue',data() {return {dataAnalysisvalue: false,dataAnalysisMsg: '', // 新增 warningVueMessage 字段}},methods: {handleClose(done) {this.$confirm('确认关闭?').then(_ => {// 关闭方法-上方传的参数donedone();}).catch(_ => { });},},
}</script>

2 helloworld.vue 添加dialog.vue组件

<template><div><button @click="dataAnalysis('这是数据分析的内容')">数据分析</button><DataAnalysisVue ref="dialogDataAnalysis"></DataAnalysisVue></div>
</template><script>
import DataAnalysisVue from './DataAnalysisVue'export default {components: {DataAnalysisVue},methods: {dataAnalysis(msg) {this.$refs.dialogDataAnalysis.dataAnalysisMsg = msg // 给指定组件的变量赋值this.$refs.dialogDataAnalysis.dataAnalysisvalue = true},}
}
</script>

3 分析helloworld.vue

3.1 导入组件

import DataAnalysisVue from './DataAnalysisVue'

3.2 声明组件

components: {DataAnalysisVue},

3.3  插入组件 并给组件 命名 ref

<DataAnalysisVue ref="dialogDataAnalysis"></DataAnalysisVue>

 3.4 做按钮

 <button @click="dataAnalysis('这是数据分析的内容')">数据分析</button>

3.5  做按钮方法 点击后给指定的组件ref中的变量赋值

dataAnalysis(msg) {this.$refs.dialogDataAnalysis.dataAnalysisMsg = msg // 给指定组件的变量赋值this.$refs.dialogDataAnalysis.dataAnalysisvalue = true},

4 分析 DataAnalysisVue.Vue

4.1 让标题等于 传来的值

<el-dialog :title="dataAnalysisMsg"

4.2 :visible.sync="dataAnalysisvalue"-->DataAnalysisVue.Vue和helloworld.vue值双向绑定 

:visible.sync 是 Vue 组件传递数据的一种方式,它是实现双向绑定的一种简写语法。
在这个例子中,.sync 会添加一个名为 update:visible 的监听器,
并且会使 visible 的值变为内部更新所传递的值。
也就是说,:visible.sync 的作用是实现 visible 的值在组件内外的双向绑定。举个例子,如果我们把 dataAnalysisvalue 的值从组件内部改变为 true,
那么它也会被同步更新到组件外部的 dataAnalysisvalue。
同样地,如果我们从组件外部改变了 dataAnalysisvalue 的值,
那么它也会被同步更新到组件内部的 visible。因此,在这个例子中,:visible.sync="dataAnalysisvalue" 的作用就是使得 visible 的值和 dataAnalysisvalue 的值保持同步,实现双向数据绑定。

5 完整逻辑

5.1 主

<template><div><el-date-picker v-model="dateRange" type="daterange" range-separator="至" @change="handleChange"></el-date-picker><child-component :date-range="dateRange"></child-component></div>
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {'child-component': ChildComponent,},data() {return {dateRange: {}, // 日期选择器的值};},methods: {handleChange(value) {// 监听日期选择器的值变化,将变化的值传递给子组件this.dateRange = {};},},
};
</script>

5.2 子

<template><div><p>日期选择器的值为:{{ dateRange }}</p></div>
</template><script>
export default {props: {dateRange: {type: Array,required: true,},},data() {return {// 子组件中用于存储日期选择器的值的变量value: [],};},watch: {dateRange(newValue) {// 监听日期选择器的值的变化,更新子组件中的 value 变量console.log('日期选择器的值变为:', newValue);},},
};
</script>

http://www.lryc.cn/news/135932.html

相关文章:

  • html动态爱心代码【三】(附源码)
  • mmseg——报错解决:RuntimeError: CUDA error: an illegal memory access was encountered
  • AWS复制EC2文件到S3,g4dn.2xlarge没有NVIDIA GPU 驱动问题
  • Go语言GIN框架安装与入门
  • 低代码系列——初步认识低代码
  • 从陌生到熟练使用string类
  • ERP规划
  • 统计学作业啊啊啊啊
  • CAM实现的流程--基于Pytorch实现
  • FL Studio2023最新版本21.1中文水果音乐编曲工具
  • 数据库概述SQL基本语法
  • 【面试】一文讲清组合逻辑中的竞争与冒险
  • 无涯教程-PHP - 性能优化
  • 如何在PHP中使用字符串
  • Mybatis简单入门
  • 【Linux】数据链路层:以太网协议
  • docker搭建私有镜像harbor
  • 汽车便携轮胎充气泵方案
  • 一、Kafka概述
  • 【数据结构OJ题】合并两个有序链表
  • C++ LibCurl 库的使用方法
  • 自然语言处理从入门到应用——LangChain:索引(Indexes)-[向量存储器(Vectorstores)]
  • 【C++练习】普通方法+利用this 设置一个矩形类(Rectangle), 包含私有成员长(length)、 宽(width), 定义一下成员函数
  • 电子电路学习笔记之SA1117BH-1.2TR——LDO低压差线性稳压器
  • 【LeetCode-面试经典150题-day7】
  • 00-音视频-概述
  • SOFARPC(笔记)
  • 无线上网连接及配置
  • Webpack减少打包数量和体积(Umi 3.*中)
  • python Crypto 包安装