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 相关文章推荐
JS 文件大小判断的实现代码
Apr 07 Javascript
jquery移除、绑定、触发元素事件使用示例详解
Apr 10 Javascript
jQuery Migrate 1.1.0 Released 注意事项
Jun 14 Javascript
JS实现仿QQ聊天窗口抖动特效
May 10 Javascript
纯javascript模仿微信打飞机小游戏
Aug 20 Javascript
jquery与ajax获取特殊字符实例详解
Jan 08 Javascript
从零学习node.js之文件操作(三)
Feb 21 Javascript
backbone简介_动力节点Java学院整理
Jul 14 Javascript
vue如何截取字符串
May 06 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 jQuery
layer.open回调获取弹出层参数的实现方法
Sep 10 Javascript
使用layer.msg 时间设置不起作用的解决方法
Sep 12 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编实现程动态图像的创建代码
2008/09/28 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
Javascript动画效果(3)
2016/10/11 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
vue中七牛插件使用的实例代码
2017/07/28 Javascript
详解vue渲染函数render的使用
2017/12/12 Javascript
使用vue + less 实现简单换肤功能的示例
2018/02/21 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
在Pandas中给多层索引降级的方法
2018/11/16 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
Python:二维列表下标互换方式(矩阵转置)
2019/12/02 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
财务工作者先进事迹材料
2014/01/17 职场文书
石油工程专业毕业生求职信
2014/04/13 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
政府四风问题整改措施
2014/10/04 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang
详解python的异常捕获
2022/03/03 Python
MySQL数据库 安全管理
2022/05/06 MySQL