Vue ref方式父子组件传值方法

Vue ref方式父子组件传值方法

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<script src="https://cdn.bootcss.com/vue/2.3.2/vue.min.js"></script>

</head>

<body>

<div id="box">

<v-tpl1></v-tpl1>

</div>

<template id="tpl1">

<div>

  <p>{{msg1}}</p>

  <!--触发拿子组件值的函数-->

  <button @click="getChild">父拿子的值</button>

  <!--通过ref绑定子组件的值-->

  <v-tpl2 ref="shit"></v-tpl2>

</div>

</template>

<template id="tpl2">

<p>{{msg2}}</p>

</template>

<script>

new Vue({

  el: '#box',

  components: {

  'v-tpl1': {

    template: '#tpl1',

    data(){

    return {

      msg1: 'msg1'

    }

    },

    methods: {

    //父组件定义一个方法通过refs拿到子组件的值

    getChild(){

      console.log(this.$refs.shit.msg2)

    }

    },

    components: {

    'v-tpl2': {

      template: '#tpl2',

      data(){

      return {

        msg2: 'msg2'

      }

      }

    }

    }

  }

  }

})

</script>

</body>

</html>


子拿父的值

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<script src="https://cdn.bootcss.com/vue/2.3.2/vue.min.js"></script>

</head>

<body>

<div id="box">

<v-tpl1></v-tpl1>

</div>

<template id="tpl1">

<div>

    <v-tpl2></v-tpl2>

</div>

</template>

<template id="tpl2">

<div>

  <button @click="getParent">子拿父的值</button>

  <p>{{msg2}}</p>

</div>

</template>

<script>

    new Vue({

  el: '#box',

  components: {

  'v-tpl1': {

    template: '#tpl1',

        data(){

    return {

      msg1: 'msg1'

    }

    },

    components: {

        'v-tpl2': {

        template: '#tpl2',

      data(){

      return {

        msg2: 'msg2'

      }

      },

      methods:{

      getParent(){

          console.log(this.$parent.msg1)

      }

      }

    }

    }

  }

  }

})

</script>

</body>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应...
    前端一菜鸟阅读 4,351评论 0 16
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 6,720评论 0 6
  • 第一章 Vue概述 what? Vue是实现UI层的渐进式js框架,核心库关注视图层,简单的ui构建,复杂的路由控...
    fastwe阅读 4,134评论 0 0
  • 一、追问"为什么"来反思自己所追求的东西。 a 为什么我要追求苗条的身材? 因为我觉得瘦可以提高颜值和增加气质(外...
    吾时又六分之七阅读 3,655评论 0 2
  • 昨天因为太困,没有写简书,只字未写。 昨天婆婆回来了,孩子欢呼雀跃,叽叽喳喳的,看的出来非常高兴,孩子从小和爷爷奶...
    一心飞扬阅读 1,544评论 0 0

友情链接更多精彩内容