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 相关文章推荐
javascript数组去掉重复
May 12 Javascript
js改变文章字体大小的实例代码
Nov 27 Javascript
jQuery中:has选择器用法实例
Dec 30 Javascript
JavaScript自定义数组排序方法
Feb 12 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
Mar 02 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
Mar 26 Javascript
Sublime Text 3常用插件及安装方法
Dec 16 Javascript
JavaScript实现页面跳转的方式汇总
May 16 Javascript
JavaScript判断数字是否为质数的方法汇总
Jun 02 Javascript
浅谈webpack下的AOP式无侵入注入
Nov 12 Javascript
node.js域名解析实现方法详解
Nov 05 Javascript
如何构建一个Vue插件并生成npm包
Oct 26 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
PHP中遍历stdclass object的实现代码
2011/06/09 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
php遍历目录下文件并按修改时间排序操作示例
2019/07/12 PHP
如果文字过长,则将过长的部分变成省略号显示
2006/06/26 Javascript
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
2016/11/07 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
Python实现类的创建与使用方法示例
2017/07/25 Python
对Python 数组的切片操作详解
2018/07/02 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
python实现flappy bird游戏
2018/12/24 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
Django 静态文件配置过程详解
2019/07/23 Python
Python assert语句的简单使用示例
2019/07/28 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
大学生职业生涯规划范文
2014/01/22 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
《观舞记》教学反思
2014/04/16 职场文书
活动总结书
2014/05/08 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
保姆聘用合同
2015/09/21 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书
HTML基础详解(上)
2021/10/16 HTML / CSS