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查找某元素中的所有图片地址的方法
Jan 16 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
Apr 06 Javascript
浅谈 vue 中的 watcher
Dec 04 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
Dec 29 Javascript
基于vue-ssr服务端渲染入门详解
Jan 08 Javascript
基于JavaScript实现抽奖系统
Jan 16 Javascript
js提取中文拼音首字母的封装工具类
Mar 12 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
Sep 15 Javascript
微信小程序之onLaunch与onload异步问题详解
Mar 28 Javascript
VueCli3.0中集成MockApi的方法示例
Jul 05 Javascript
jQuery实现倒计时功能完整示例
Jun 01 jQuery
JavaScript展开运算符和剩余运算符的区别详解
Feb 18 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 session有效期session.gc_maxlifetime
2011/04/20 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
PHP临时文件的安全性分析
2014/07/04 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
php修改数组键名的方法示例
2017/04/15 PHP
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
详解JavaScript函数
2015/12/01 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
js瀑布流布局的实现
2020/06/28 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
对python3中, print横向输出的方法详解
2019/01/28 Python
解决python线程卡死的问题
2019/02/18 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
数学专业推荐信范文
2013/11/21 职场文书
上课看小说检讨书
2014/02/22 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
合同审查法律意见书
2015/06/04 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS