tnblog
首页
视频
资源
登录
这世间真的有很美的爱情,也有很温柔善良的女孩纸。
排名
18
文章
102
粉丝
2
评论
3
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

vue组件之间函数调用

7519人阅读 2020/6/27 14:38 总访问:281055 评论:0 收藏:0 手机
分类: 前端

父组件调用子组件:

html:

  1. <Child ref="myChild"></Child>

js:

  1. // 父组件
  2. // 引入子组件
  3. import Child from './Child'
  4. export default {
  5.   // 注册子组件
  6.   components: {Child},
  7.   created () {
  8.     // 调用子组件中的childMethod,需要给子组件添加属性ref
  9.     this.$refs.myChild.childMethod("hello")
  10.   },
  11.   methods: {
  12.       parentMethod (data) {
  13.        console.log(data)
  14.       }
  15.   }
  16. }

子组件:

  1. // 子组件
  2. export default {
  3.     methods: {
  4.         childMethod (data) {
  5.             console.log(data)
  6.         },
  7.         parentMethod (data) {
  8.             // 子组件调用父组件函数
  9.             // 如何这样不行,可以考虑使用$emit、vuex等其他方法
  10.             this.$parent.parentMethod(data)
  11.         }
  12.     }
  13. }


子组件调用父组件:

父组件:

  1. <template>
  2.       <div class="wrapper">
  3.             <VLink @parentMethod="macSelect"></VLink >
  4.       </div>
  5. </template>
  6. <script>
  7. import VLink from "../components/VLink.vue";  
  8. export default{
  9.     components:{
  10.         VLink 
  11.     },
  12.     method:{
  13.         macSelect(){
  14.           alert("嘿嘿");
  15.         }
  16.     }
  17. }
  18. </script>

子组件:

  1. <template>
  2.     <div class="bet-action">
  3.         <span class="mac-select" @click="childMethod">机选</span>
  4.     </div>
  5. </template>
  6. <script>
  7.     export default{
  8.       methods: {
  9.           childMethod() {
  10.               console.log('请求父组件方法');
  11.               this.$emit('parentMethod');  //使用$emit()引入父组件中的方法
  12.           }
  13.       },
  14.     }
  15. </script>



评价