Vue中父组件向子组件通信的方法


Posted in Javascript onJuly 11, 2017

Vue是一个轻量级的渐进式框架,对于它的一些特性和优点在此就不做赘述。下面通过本文给大家分享Vue中父组件向子组件通信的方法,具体内容详情如下所示:

props

组件实例的作用域是孤立的。子组件的模板中是无法直接调用父组件的数据。

可以使用props将父组件的数据传给子组件。子组件在接受数据时要显示声明props

看下面的例子

<div id="app">
  <panda here='China'></panda>
</div>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<script>
  Vue.component('panda',{
    props:['here'],
    template:`<div>panda from {{here}}</div>`
  })
  new Vue({
    el: '#app'
  })
</script>

页面上展示的是 panda from China

处理属性中带'-‘的问题

Vue是不支持带杠的写法的。

如果上述的here变成from-here。需要这样写(小驼峰的写法)

<div id="app">
  <panda from-here='China'></panda>
</div>
<script>
  Vue.component('panda',{
    props:['fromHere'],
    template:`<div>panda from {{fromHere}}</div>`
  })
  new Vue({
    el: '#app'
  })
</script>

如果需要动态绑定,需要用到v-bind

<body>
  <div id="app">
    <panda :here='msg'></panda>
  </div>
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
  <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
  <script>
  Vue.component('panda',{
    props:['here'],
    template:`<div>panda from {{here}}</div>`
  })
  new Vue({
    el: '#app',
    data:{
      msg:'China'
    }
  })
  </script>
</body>

这样子组件就展示出了父组件的信息(把构造器中的data值传递给组件)。而且是动态绑定(用了v-bind)的。当父组件的data.msg发生变化的时候。子组件里面的内容也会相应的发生变化。

注意:props默认是单向绑定:当父组件的属性变化时,将传导给子组件,但是反过来不会。这是为了防止子组件无意修改了父组件的状态

以上所述是小编给大家介绍的Vue中父组件向子组件通信的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
IE6下JS动态设置图片src地址问题
Jan 08 Javascript
不同浏览器的怪癖小结
Jul 11 Javascript
Vuejs第十二篇之动态组件全面解析
Sep 09 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
Jun 21 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 jQuery
微信小程序组件之srcoll-view的详解
Oct 19 Javascript
JS基于贪心算法解决背包问题示例
Nov 27 Javascript
记录vue项目中遇到的一点小问题
May 14 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
利用JavaScript模拟京东按键输入功能
Dec 01 Javascript
一文彻底理解js原生语法prototype,__proto__和constructor
Oct 24 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
Jul 11 #Javascript
网页中的图片查看器viewjs使用方法
Jul 11 #Javascript
自定义事件解决重复请求BUG的问题
Jul 11 #Javascript
关于js中的鼠标事件总结
Jul 11 #Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
Jul 10 #Javascript
angular学习之从零搭建一个angular4.0项目
Jul 10 #Javascript
在Vue中使用echarts的实例代码(3种图)
Jul 10 #Javascript
You might like
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
JS与C#编码解码
2013/12/03 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
AngularJS基础 ng-include 指令简单示例
2016/08/01 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
Java Varargs 可变参数用法详解
2020/01/28 Javascript
Python3中的真除和Floor除法用法分析
2016/03/16 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
python 求定积分和不定积分示例
2019/11/20 Python
Python: 传递列表副本方式
2019/12/19 Python
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
求职自荐信范文格式
2013/11/29 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
SQL写法--行行比较
2021/08/23 SQL Server
Go归并排序算法的实现方法
2022/04/06 Golang
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技