首页 > 代码库 > Vue.js组件的通信之子组件向父组件的通信

Vue.js组件的通信之子组件向父组件的通信

<!DOCTYPE html>
  <html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>componentChildToParentCommunication</title>
    <script src="http://www.mamicode.com/js/vue.js"></script>
  </head>


  <template id="parentComp">
    <div>
      I am parent component:{{msg}},The Data from child:{{msg1}},{{msg2}}
      <hr>
      <child :m1="msg1" m2="msg2"></child>
    </div>
  </template>

  <template id="childComp">
    <div>I am child component:{{msg}}</div>
  </template>


  <body>


  <script>
    let child={
      template:‘#childComp‘,
      data(){
        return {
          msg:‘child Data‘
        }
      },
      props:[‘m1‘,‘m2‘]
    };

    let parent={
      template:‘#parentComp‘,
      data(){
        return {
          mgs:‘parent Data‘,
          msg1:‘the first parent Data‘,
          msg2:‘the second parent Data‘
        }
      },
      components:{
        child
      },
    };


    window.onload=function(){
      new Vue({
        el:‘#app‘,
        components:{
          parent
        }
      });
    }


    /*子元素向父元素通信关键总结:
      1:子元素定义时props:[‘msg1‘,‘msg2‘,‘msg3‘,...],用来放置从父元素拿过来的数据
      2:在嵌套的子元素(使用时)上:<child :msg1="父数据1" :msg2="父数据2" :msg3="父数据3"></child>;
    */
  </script>
    <div id="app">
      <parent></parent>
    </div>
  </body>
</html>

Vue.js组件的通信之子组件向父组件的通信