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

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

javascript 复制代码
<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(_ => {
          // 关闭方法-上方传的参数done
          done();
        })
        .catch(_ => { });
    },
  },
}


</script>

2 helloworld.vue 添加dialog.vue组件

javascript 复制代码
<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 导入组件

javascript 复制代码
import DataAnalysisVue from './DataAnalysisVue'

3.2 声明组件

javascript 复制代码
components: {
    DataAnalysisVue
  },

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

javascript 复制代码
<DataAnalysisVue ref="dialogDataAnalysis"></DataAnalysisVue>

3.4 做按钮

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

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

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

4 分析 DataAnalysisVue.Vue

4.1 让标题等于 传来的值

javascript 复制代码
<el-dialog :title="dataAnalysisMsg"

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

javascript 复制代码
:visible.sync 是 Vue 组件传递数据的一种方式,它是实现双向绑定的一种简写语法。
在这个例子中,.sync 会添加一个名为 update:visible 的监听器,
并且会使 visible 的值变为内部更新所传递的值。
也就是说,:visible.sync 的作用是实现 visible 的值在组件内外的双向绑定。

举个例子,如果我们把 dataAnalysisvalue 的值从组件内部改变为 true,
那么它也会被同步更新到组件外部的 dataAnalysisvalue。
同样地,如果我们从组件外部改变了 dataAnalysisvalue 的值,
那么它也会被同步更新到组件内部的 visible。

因此,在这个例子中,:visible.sync="dataAnalysisvalue" 的作用就是使得 visible 的值和 dataAnalysisvalue 的值保持同步,实现双向数据绑定。
相关推荐
人工智能训练2 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪3 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
xiaoqi9224 小时前
React Native鸿蒙跨平台如何进行狗狗领养中心,实现基于唯一标识的事件透传方式是移动端列表开发的通用规范
javascript·react native·react.js·ecmascript·harmonyos
jin1233224 小时前
React Native鸿蒙跨平台剧本杀组队消息与快捷入口组件,包含消息列表展示、快捷入口管理、快捷操作触发和消息详情预览四大核心功能
javascript·react native·react.js·ecmascript·harmonyos
烬头88216 小时前
React Native鸿蒙跨平台实现二维码联系人APP(QRCodeContactApp)
javascript·react native·react.js·ecmascript·harmonyos
pas1366 小时前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js
摇滚侠6 小时前
2 小时快速入门 ES6 基础视频教程
前端·ecmascript·es6
2601_949833396 小时前
flutter_for_openharmony口腔护理app实战+预约管理实现
android·javascript·flutter
珑墨6 小时前
【Turbo】使用介绍
前端
军军君017 小时前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three