Vue子组件调用父组件的方法及传值「建议收藏」

Vue子组件调用父组件的方法及传值「建议收藏」//父组件<template><divclass=”home”><HelloWorldref=”mychild”></HelloWorld><div@click=”clickParent”>clickme</div></div></template><script>importHelloWorldfrom’@/components/HelloW

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、通过$ref的方式

//父组件
<template>
  <div class="home">
    <myBox ref="myBox"></myBox>
    <div @click="handelClick">click me</div>
  </div>
</template>
<script>
  import myBox from '@/components/myBox.vue'
  export default { 
   
    name: 'home',
    components: { 
   
      myBox
    },
    methods: { 
   
      handelClick() { 
   
        this.$refs.myBox.init("传递的值");
      }
    }
  }
</script>


//子组件
<template>
  <div class="myBox">
    <h1>我是子组件</h1>
  </div>
</template>
<script>
  export default { 
   
    name: 'myBox',
    methods: { 
   
      init(val) { 
   
        console.log(val)
      }
    }
  }
</script>

二、通过props的方式

// 父组件
<template>
  <div>
    <h1>父组件</h1>
    <myBox :dataFrom="data"></myBox>
  </div>
</template>
 
<script>
  import myBox from '@/components/myBox.vue'
  export default { 
   
    name: 'home',
    components: { 
   
      myBox
    },
    data() { 
   
      return { 
   
        data:"传递的值"
      }
    }
  }
</script>
// 子组件
<template>
  <div>
    <h1>子组件</h1>
    <p>下面是父组件传过来的数据</p>
    <p>{ 
   { 
   fromData}}</p>
  </div>
</template>
  
<script>
export default { 
   
   props: { 
   
    fromData: { 
   
      type: String,
      default: 'hello world'
    }
  }
  data () { 
   
    return { 
   
  
    };
  }
}
</script>

三、用$emit向父组件触发一个事件,父组件监听这个事件

//父组件
<template>
  <div>
    <myBox @fatherMethod="fatherMethod"></myBox>
  </div>
</template>
<script>
  import myBox from '@/components/myBox';
  export default { 
   
    components: { 
   
      child
    },
    methods: { 
   
      fatherMethod() { 
   
        console.log('测试');
      }
    }
  };
</script>
 //子组件
<template>
  <div>
    <button @click="childMethod()">点击</button>
  </div>
</template>
<script>
  export default { 
   
    methods: { 
   
      childMethod() { 
   
        this.$emit('fatherMethod');
      }
    }
  };
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186856.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • int32.parse什么意思_integer.parseint和valueof

    int32.parse什么意思_integer.parseint和valueofnt32.Parse(string)Int32.Parse(stringstr)methodconvertsthestringrepresentationofanumbertoits32-bitsignedintegerequivalent.Ittakesastringandtriestoextractanintegerfromi

    2022年9月16日
    2
  • java二维数组的创建,java二维数组创建方法

    java二维数组的创建,java二维数组创建方法java动态创建二维数组,从零学java笔录-第31篇图解二位数组在内存中存储,java二维数组动态赋值,java二维数组创建方法二维数组的定义typearrayName[][];type[][]arrayNameJava二维数组的声明、初始化和引用二维数组的声明、初始化和引用与一维数组相似,这里不再详……java定义二维数组的几种写法_计算机软件及应用_IT/计算…

    2022年6月10日
    45
  • 朋友圈投票怎么刷票呢_微信投票最低多少一票

    朋友圈投票怎么刷票呢_微信投票最低多少一票揭露微信朋友圈当中出现刷票群0.01一票微信号、刷票0.01一票微信号的虚假面目,在微信朋友圈,每个人可能都遇到过好友“晒”出的投票链接,不过,看似单纯的微信投票背后,却乱象丛生,甚至还暗藏着灰色利益链。                                      变了味的朋友圈投票  “亲,帮我家孩子投个票吧”,“今天继续投哟,一天3票哦”……相信不少人在朋友圈或微信群中都收到过…

    2022年9月18日
    4
  • grunt集成Babel 实现ES6转ES5

    grunt集成Babel 实现ES6转ES5grunt集成Babel实现ES6转ES5背景:原来前端项目使用ES5开发,后来有个小伙伴使用了ES6的高级语言,导致项目无法通过grunt压缩。使用grunt集成babel,实现ES6转ES5,主要有一下几个步骤:1.配置package.jsondevDependencies里面是开发依赖,dependencies里面是项目依赖。”devDependencies”:{“babel-core”:”^6.26.3″,”babel-loader”:”^7.1.5″,

    2022年9月2日
    12
  • 阿里矢量图标库的使用

    阿里矢量图标库的使用1、注册登录账号网站地址:https://www.iconfont.cn/该网站可通过GitHub或新浪账号进行登录下面是网站的首页2、查找图标在中间输入框输入想要查找的图标,。以‘home

    2022年8月6日
    5
  • pycharm菜单栏不见了_pycharm左侧项目栏隐藏

    pycharm菜单栏不见了_pycharm左侧项目栏隐藏ctrl+Alt+shif打开搜索窗口,然后输入Experimentalfeatures 取消linux.native.menu选项的复对勾,应用更改并关闭,重启PyCharm。

    2022年8月25日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号