vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。

vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。html

 

vue 父组件与子组件相互通讯
 1、父组件给子组件传值 props 实现父组件向子组件传值。 1父组件里: <child-pack  :msg ="myMsg" v-on:listenTochildEvent="showMessageFromChild"></child-pack>
msg是绑定的自定义属性,相似咱们原生html 给标签自定义属性同样,Widget是传输变量 <script > import childpack from './childPack.vue' //引用子组件
export default{ name: 'FatherPack', components: { childpack }, data(){ return(){ myMsg:‘我是父组件参数’ } }, mothods:{ } } </script>
 2子组件里: <div>
    <span>{{msg}}</span>
</div>
export default { name: 'ChildPack', props:["msg"] //也能够指定默认类型和默认值
 // props: {
 // msg: {
 // type: Number,
  // default: 0
  // }
 // },
  
  // isPublic: {
  //    type: Boolean,
  //    default: undefined  //注意!对于布尔类型,默认值不要写成false,不然isPublic永远为false。
  // }
 data(){ }, created() { console.log('child_msg',this.msg) }, mothods:{ }, } 2、子组件传值到父组件 this.$emit() 实现子组件向父组件传值。 1在子组件里: export default{ methods: { changeFather(){ this.$emit("listenTochildEvent","我是子组件的参数"); }, //能够传递参数,参数能够是值、对象、数组等类型。
        // changeFather(pms){ 
        // this.$emit("listenTochildEvent",pms);
       // },
} } 2在父组件:定义事件listenTochildEvent,并实现showMessageFromChild方法,接收父组件传递来的参数。 <child-pack  :msg ="myMsg" v-on:listenTochildEvent="showMessageFromChild"></child-pack>
<script > import childpack from './childPack.vue' //引用子组件
export default{ name: 'FatherPack', components: { childpack }, data(){ return(){ myMsg:‘我是父组件参数’ } }, mothods:{ showMessageFromChild(data){ console.log(data); } } </script>
 3、将1、二 一块儿使用就是能够实现父子组件互相传值。

 

  知识点:props 、$emit()vue

参考来源: https://blog.csdn.net/github_37847992/article/details/78167337

vue文档:http://doc.vue-js.com/v2/api/#vm-emit
https://cn.vuejs.org/v2/guide/components-props.html#Prop-类型
相关文章
相关标签/搜索