Vue2.0入门系列——父子组件间通信

1、子组件更新,父组件不变

点击“按钮”按钮,子组件数据被修改,父组件数据不变

 =========>>>>>> 

项目源代码,

<head>

    <meta charset="UTF-8">

    <title>v2.0父子组件通信</title>

    <script src="./vue.js"></script>

       <script>

         window.onload=function(){

            new Vue({

                   el: '#box',

                      data: {

                         aa: '我是父组件中的数据'

                      },

                      components: {

                         'child-com': {

                               props: ['msg'],  //接收父组件传递过来的信息

                               template: '#child',

                               methods:{

                               change(){

                                  this.msg='被修改'

                                  }

                               }

                            }

                      }

               });

         };

       </script>

       <!--子组件修改不能改变父组件的修改-->

</head>

<body>

    <template id="child">

         <div>

          <h3>我是子组件</h3>

          <input type="button" value="按钮" @click="change">

          <strong>{{msg}}</strong>

         </div>

       </template>

       <div id="box">

         父级: -> {{ aa }}

         <child-com :msg="aa"></child-com>

       </div>

</body>

2、子组件更新,父组件随之更新

点击“按钮”按钮,父子组件均数据被修改,

<head>

    <meta charset="UTF-8">

    <title>v2.0父子组件通信</title>

    <script src="./vue.js"></script>

       <script>

         window.onload=function(){

            new Vue({

                   el: '#box',

                      data: {

                         giveData:{

                              aa: '我是父组件中的数据'

                            }

                      },

                      components: {

                         'child-com': {

                               props: ['msg'],  //接收主组件传递过来的信息

                               template: '#child',

                               methods:{

                               change(){

                                    //this.msg='被修改'

                                          this.msg.aa='被修改'

                                  }

                               }

                            }

                      }

               });

         };

       </script>

       <!--子组件修改不能改变父组件的修改-->

</head>

<body>

    <template id="child">

         <div>

          <h3>我是子组件</h3>

          <input type="button" value="按钮" @click="change">

          <strong>{{msg.aa}}</strong>

         </div>

       </template>

       <div id="box">

         父级: -> {{ giveData.aa }}

         <child-com :msg="giveData"></child-com>

       </div>

</body>

猜你喜欢

转载自www.cnblogs.com/sunnyyangwang/p/10286601.html