1、父组件与子组件之间值传递步骤以下:vue
例如:我有一个父组件Myhome.vue 和一个子组件Header.vueapp
一、父组件调用子组件的时候,动态绑定属性值this
<v-myheader :title="title"></v-myheader>
二、在子组件使用 props 来接受父组件传过来数据(props:['title']),若是是多个就定义多个属性就能够spa
完整代码以下:code
一、Myhome.vue(父组件)代码以下:component
<template> <div id="homeapp"> <h1>这是一个home123</h1> <v-myheader :title="title"></v-myheader> </div> </template> <script> import MyHeader from './Header.vue'; export default { name:'myhome', data () { return { title:'父类数据' } } ,components :{ 'v-myheader':MyHeader } } </script>
二、Header.vue(子组件)代码以下:对象
<template> <div id="headerapp"> <h3>这是头部组件(子组件)</h3> <h2>父类数据--{{title}}</h2> </div> </template> <script> export default { data() { return { msg:'mgs' } },methods:{ } ,props:['title'] } </script>
二、除了传递属性之外还能传递方法和父组件的对象,若是是传递父组件的对象,那么在子组件里就能经过父组件对象获取属性和方法、数据blog
代码以下:ip
父类组件代码以下:get
<template> <div id="homeapp"> <h1>这是一个home123</h1> <v-myheader :title="title" :show='show' :home="this"></v-myheader> </div> </template> <script> import MyHeader from './Header.vue'; export default { name:'myhome', data () { return { title:'父类数据' } } ,methods:{ show(a) { alert('我是父组件方法'+a); } } ,components :{ 'v-myheader':MyHeader } } </script>
其中:
:show='show'->表示传递方法
:home="this"->表示传递父类实例对象
子组件代码以下:
<template> <div id="headerapp"> <h3>这是头部组件(子组件)</h3> <h2>父类数据--{{title}}</h2> <button @click="show(123)">调用父类方法</button> <button @click="getparentdata()">获取父组件数据和方法</button> </div> </template> <script> export default { data() { return { msg:'mgs' } },methods:{ getparentdata (){ alert(this.home.title); } } ,props:['title','show','home'] } </script>
3、父组件主动获取子组件的方法和属性
一、调用子组件的时候定义一个ref