首页 > 其他分享 >vue中子组件修改父组件中传递的参数的值

vue中子组件修改父组件中传递的参数的值

时间:2022-08-22 10:02:12浏览次数:60  
标签:vue false methods default isVisibleChild 中子 child 组件

方法一:

 1 <!--父组件代码-->
 2 <template>
 3   <div>
 4     <p>我是父组件</p>
 5     <button @click="handleShowChild" v-show="!isVisibleChild">显示子组件</button>
 6     <child :visible = 'isVisibleChild' @handleHideChild="handleHideChild"></child>
 7   </div>
 8 </template>
 9 <script>
10 import child from './child'
11 export default {
12   data(){
13     return {
14      isVisibleChild: false
15     }
16   },
17   components:{
18     child
19   },
20   methods:{
21     handleShowChild(){
22       this.isVisibleChild = true;
23     },
24     handleHideChild(flag){
25       this.isVisibleChild = flag;
26     }
27   }
28 }
29 </script>
30 
31 <!--子组件代码-->
32 <template>
33   <div v-show="visible">
34     <p>我是子组件</p>
35     <button>隐藏子组件</button>
36   </div>
37 </template>
38 
39 <script>
40 export default {
41   name:'child',
42   props:{
43     visible: {
44       type: Boolean,
45       default: false
46     }
47   },
48   methods:{
49     handleHideChild(){
50       this.$emit('handleHideChild',false)
51     }
52   }
53   
54 }
55 </script>

方法二:sync+update方法

 1 <!--父组件代码-->
 2 <template>
 3   <div>
 4     <p>我是父组件</p>
 5     <button @click="handleShowChild" v-show="!isVisibleChild">显示子组件</button>
 6     <child :visible.sync = 'isVisibleChild'></child>
 7   </div>
 8 </template>
 9 <script>
10 import child from './child'
11 export default {
12   data(){
13     return {
14      isVisibleChild: false
15     }
16   },
17   components:{
18     child
19   },
20   methods:{
21     handleShowChild(){
22       this.isVisibleChild = true;
23     },
24   }
25 }
26 </script>
27 
28 <!--子组件代码-->
29 <template>
30   <div v-show="visible">
31     <p>我是子组件</p>
32     <button>隐藏子组件</button>
33   </div>
34 </template>
35 
36 <script>
37 export default {
38   name:'child',
39   props:{
40     visible: {
41       type: Boolean,
42       default: false
43     }
44   },
45   methods:{
46     handleHideChild(){
47       this.$emit('update:visible',this.visible=false)
48     }
49   }
50   
51 }
52 </script>

 

标签:vue,false,methods,default,isVisibleChild,中子,child,组件
From: https://www.cnblogs.com/ruishuiweixiang/p/16611788.html

相关文章

  • 054_末晨曦Vue技术_处理边界情况之组件之间的循环引用
    组件之间的循环引用点击打开视频讲解更详细假设你需要构建一个文件目录树,像访达或资源管理器那样的。你可能有一个<tree-folder>组件,模板是这样的:<p><span>{{fold......
  • vue3项目-小兔鲜儿笔记-01-项目初始化
    1.pinia基础store/modules/user.tsimport{defineStore}from'pinia'//用户模块constuseUserStore=defineStore('user',{state:()=>{return{......
  • vue中的EL理解
    el的作用:用于指明Vue实例的挂载目标。那么什么是挂载?虚拟dom与真实dom建立关系,让Vue实例控制页面中的某个区域的过程,称之为挂载。挂载的方式有:1、通过“el:'css选择器......
  • vue中打包的时候,如何将console.log去掉
    问题:打包完成后,项目启动后还有打印语句?1.开发环境,生产环境,是2套不同的环境开发环境需要console.log使用生产环境不需console.log使用让一套代码,在2个环境自......
  • Vue生命周期及基本语法(一)
    一、初体验<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewpor......
  • vue生命周期
      ---------------vuex......
  • vue学习笔记:组件
    组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码,说白了就是一组可以重复使用的模板。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任......
  • useEffect用来监听组件间通信——订阅发布失效
    1.在做这个图书订阅管理系统时,遇到一个这样的业务逻辑:就是这样的逻辑::点击设置---》选择书籍---》点击提交按钮--》轮播图展示这是订阅的代码,没有啥问题,页面挂载的......
  • Linux虚拟机Nginx代理vue前端与SpringBoot后端资源
    1.Nginx安装配置详细参见菜鸟教程:https://www.runoob.com/linux/nginx-install-setup.html2.nginx.conf内容usernginx;worker_processes1;#设置值和CPU核心数......
  • VUE+SpringBoot环境准备
    一、nodejs下载地址官网:https://nodejs.org/zh-cn/其它版本:https://nodejs.org/zh-cn/download/releases/源码地址:https://github.com/nodejs二、vscode下载地......