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 validate 验证注册表单实例演示
Mar 25 Javascript
js添加table的行和列 具体实现方法
Jul 22 Javascript
node.js中的fs.createWriteStream方法使用说明
Dec 17 Javascript
JS限制条件补全问题实例分析
Dec 16 Javascript
根据Bootstrap Paginator改写的js分页插件
Dec 25 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
May 28 Javascript
node+koa实现数据mock接口的方法
Sep 20 Javascript
AngularJS中下拉框的基本用法示例
Oct 11 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
Nov 24 Javascript
利用node实现一个批量重命名文件的函数
Dec 21 Javascript
js定义类的方法示例【ES5与ES6】
Jul 30 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 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文件上传实例详解!!!
2007/01/02 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
php搜索文件程序分享
2015/10/30 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
Prototype Class对象学习
2009/07/19 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
js播放wav文件(源码)
2013/04/22 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
TensorFlow实现模型评估
2018/09/07 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
python 堆和优先队列的使用详解
2019/03/05 Python
Django框架视图介绍与使用详解
2019/07/18 Python
使用python批量修改文件名的方法(视频合并时)
2020/03/24 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
全球性的在线购物网站:Zapals
2017/03/22 全球购物
音乐兴趣小组活动总结
2014/07/07 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
校园运动会广播稿
2015/08/19 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android
Mysql binlog日志文件过大的解决
2021/10/05 MySQL
Python语言内置数据类型
2022/02/24 Python
golang实现浏览器导出excel文件功能
2022/03/25 Golang
进行数据处理的6个 Python 代码块分享
2022/04/06 Python