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引用对象的方法代码
Aug 13 Javascript
简单时间提示DEMO从0开始一直进行计时
Nov 19 Javascript
jQuery实现拖拽效果插件的方法
Mar 23 Javascript
代码分析jQuery四种静态方法使用
Jul 23 Javascript
1秒50万字!js实现关键词匹配
Aug 01 Javascript
3种不同的ContextMenu右键菜单实现代码
Nov 03 Javascript
AngularJS递归指令实现Tree View效果示例
Nov 07 Javascript
微信小程序 http请求的session管理
Jun 07 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 Javascript
vue相关配置文件详解及多环境配置详细步骤
May 19 Javascript
JavaScript中arguments的使用方法详解
Dec 20 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
西德产收音机
2021/03/01 无线电
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
浅谈php serialize()与unserialize()的用法
2013/06/05 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
2017/01/05 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
详解Python中的多线程编程
2015/04/09 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
金山毒霸系列的笔试题
2013/04/13 面试题
群众路线组织生活会发言材料
2014/10/17 职场文书
2014年个人售房协议书
2014/10/30 职场文书
四年级学生期末评语
2014/12/26 职场文书
运动会200米广播稿
2015/08/19 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python