Vue2.0基于vue-cli + webpack父子组件通信(实例讲解)

  

在git命令行下,执行以下命令完成环境的搭建:

  

1, npm安装——全球vue-cli安装vue命令行工具

  

2, vue init webpack vue-demo使用vue命令生成一个webpack项目,项目名称为vue-demo

  

 Vue2.0基于vue-cli + webpack父子组件通信(实例讲解)

  

3, cd vue-demo切入项目

  

4, npm安装安装package.json中的所有依赖包

  

5, npm运行dev运行项目

  

  

然后删除默认的Hello.vue组件,把App.vue整理成以下样子:

        & lt; template>   & lt; div id=坝τ谩北?   这是一个空的应用程序   & lt;/div>   & lt;/template>      & lt; script>   出口默认{   名称:“应用程序”   }   & lt;/script>      & lt; style>      & lt;/style>      

把路由器下面index.js文件修改如下:

        从“Vue”进口Vue   从“vue-router”进口路由器      Vue.use(路由器)      出口默认新路由器({   路线:[   {   路径:“/?   }   ]   })      

<强> 1,在组件目录下创建一个子组件Child.vue

  

代码如下:

        & lt; template>   & lt; div>   & lt; h4>这是子组件& lt;/h4>   & lt; p>{{内容}}& lt;/p>   & lt;/div>   & lt;/template>   & lt; script>   出口默认{   道具(“内容”):   }   & lt;/script>      

<强> 2,把App.vue的代码修改如下:

        & lt; template>   & lt; div id=坝τ谩北?   & lt;孩子:内容=拔毒弊4? lt;/child>   & lt;/div>   & lt;/template>      & lt; script>   进口儿童从“。/组件/Child.vue”;   出口默认{   名称:“应用程序”,   数据(){   返回{   “味精”:“这是来自父组件的问候”   }   },   组件:{   孩子   }   }   & lt;/script>      

这样就完成了父组件通过道具属性向子组件传递数据

  

也可以用v-bind绑定属性
  

        & lt; template>   & lt; div id=坝τ谩北?   & lt;孩子:内容=拔毒弊4? lt;/child>   & lt;孩子v-bind:内容=拔毒弊4? lt;/child>   & lt;/div>   & lt;/template>      

  

子组件在道具中创建一个属性,用以接收父组件传过来的值

  

父组件中调用子组件

  

在子组件标签中绑定子组件道具中创建的属性

  

把需要传给子组件的值赋给该属性,如我们上文中父组件的味精

  

  

<强> 1,把Child.vue修改如下:

        & lt; template>   & lt; div>   & lt; h4>这是子组件& lt;/h4>   & lt; p>{{内容}}& lt;/p>   & lt; p>   & lt;输入类型="按钮" value=" https://www.yisu.com/zixun/告诉父王一个消息”v:点击=胺⑺汀北?   & lt;/p>   & lt;/div>   & lt;/template>   & lt; script>   出口默认{   道具:(“内容”),   方法:{   send () {   这一点。美元发出(“ParentRecEv”,“父王,孩儿正在跟ghostwu学习vue2.0”)   }   }   }   & lt;/script>      

子组件通过发出发美元送一个自定义的事件ParentRecEv,后面参数是内容

  

<强> 2,App.vue修改如下

        & lt; template>   & lt; div id=坝τ谩北?   & lt;孩子:内容=拔毒弊4? lt;/child>   & lt;孩子v-bind:内容=拔毒眝: ParentRecEv=皊howMsg祝辞& lt;/child>   & lt; p>{{数据}}& lt;/p>   & lt;/div>   & lt;/template>      & lt; script>   进口儿童从“。/组件/Child.vue”;   出口默认{   名称:“应用程序”,   数据(){   返回{   “味精”:“这是来自父组件的问候”,   数据:“   }   },   方法:{   showMsg (msg) {   这一点。数据=https://www.yisu.com/zixun/msg;   }   },   组件:{   孩子   }   }         

在第二个子组件监听事件ParentRecEv,当子组件点击按钮就会触发这个自定义事件,然后触发showMsg函数,就能收到子组件传递的数据,没有绑定自定义事件是不能收到子组件发送的信息的。

  

  

子组件中通过释放美元触发一个自定义事件

Vue2.0基于vue-cli + webpack父子组件通信(实例讲解)