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 相关文章推荐
JQuery CSS样式控制 学习笔记
Jul 23 Javascript
extjs中grid中嵌入动态combobox的应用
Jan 01 Javascript
JavaScript运算符小结
Jun 03 Javascript
jquery实现滑动特效代码
Aug 10 Javascript
简单实现jQuery多选框功能
Jan 09 Javascript
Bootstrap表单使用方法详解
Feb 17 Javascript
jQuery简单实现MD5加密的方法
Mar 03 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
Mar 08 Javascript
js获取css的各种样式并且设置他们的方法
Aug 22 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
Aug 30 Javascript
微信小程序radio组件使用详解
Jan 31 Javascript
vue父子模板传值问题解决方法案例分析
Feb 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 MSSQL 存储过程的方法
2008/12/24 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
PHP简单遍历对象示例
2016/09/28 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
2011/11/10 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
javascript显示上周、上个月日期的处理方法
2016/02/03 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
Python制作CSDN免积分下载器
2015/03/10 Python
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
python使用smtplib模块通过gmail实现邮件发送的方法
2015/05/08 Python
python搭建虚拟环境的步骤详解
2016/09/27 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
python实现最小二乘法线性拟合
2019/07/19 Python
Django 路由层URLconf的实现
2019/12/30 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
幼儿园实习自我鉴定
2013/12/15 职场文书
环保标语大全
2014/06/12 职场文书
检讨书1000字
2014/10/11 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
Redis 哨兵集群的实现
2021/06/18 Redis
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python