博主信息
博文 70
粉丝 1
评论 0
访问量 68783
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
实例演示父子组件之间通信方式
葡萄枝子
原创
864人浏览过

实例演示父子组件之间通信方式

作业内容:实例演示父子组件之间通信方式

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <!-- 引入vue框架库 -->
  8. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  9. </head>
  10. <body>
  11. <div class="app">
  12. <!-- 父组件 -->
  13. <p>{{like}} <button @click="addNum">{{num}} +</button></p>
  14. <!-- 子组件1 -->
  15. <!-- 父组件向子组件传参通过自定义属性 -->
  16. <child-component1 :like-type="like" :like-num="num"></child-component1>
  17. <!-- 子组件2 -->
  18. <!-- 子组件向父组件传参通过自定义方法 -->
  19. <child-component2 :like-type="like" :like-num="num" @like-change="likeMethod"></child-component2>
  20. </div>
  21. <script>
  22. const vm = new Vue({
  23. el: '.app',
  24. data() {
  25. return {
  26. like: '喜欢',
  27. num: 0,
  28. }
  29. },
  30. // 局部组件
  31. components: {
  32. // 组件1,父组件向子组件传参
  33. childComponent1 : {
  34. // props 接受父组件向子组件的自定义传参
  35. props: ['likeType', 'likeNum'],
  36. // 组件模板显示父组件的传参
  37. template: `<p>like-type: {{likeType}}, like-num: {{likeNum}}</p>`,
  38. },
  39. // 组件2,子组件向父组件传参
  40. childComponent2 : {
  41. // props 接受父组件向子组件的自定义传参
  42. props: ['likeType', 'likeNum'],
  43. // 改变父组件的喜欢类型和喜欢数量
  44. template: `<p>
  45. <label for="like-type">like-type</label> <input text="text" id="like-type" value="" /><br />
  46. <label for="like-num">like-num</label> <input text="text" id="like-num" value="" /><br />
  47. <button @click="$emit('like-change', $event)">change</button>
  48. </p>`
  49. ,
  50. },
  51. },
  52. // 方法
  53. methods: {
  54. // 父组件 num 自增
  55. addNum() {
  56. this.num++;
  57. },
  58. // 子组件改变父组件 like-type 和 like-num
  59. likeMethod(ev) {
  60. let likeType = ev.target.parentNode.querySelector('#like-type').value;
  61. let likeNum = ev.target.parentNode.querySelector('#like-num').value;
  62. this.like = likeType;
  63. this.num = likeNum;
  64. },
  65. },
  66. });
  67. </script>
  68. </body>
  69. </html>

1. 父组件向子组件通过自定义属性传参

  • 点击喜欢后面的自增按钮3次,父组件喜欢数为 3+,父组件向子组件1传参显示图

父组件向子组件传参

2. 子组件向父组件通过自定义方法传参

  • 在上图中,修改 like-type 为 点赞 ,like-num 为 100 点击 change 子组件2,改变父组件的原来喜欢字符和喜欢数显示图

子组件向父组件传参

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学