码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vue2中render函数学习思维导图


     vue2之render+jsx从细节入手,彻底掌握

    父组件 .vue 

    1. <template>
    2. <div>
    3. <myCom :msg="msg" :data-list="dataList" @on-change="comChange" />
    4. div>
    5. template>
    6. <script>
    7. import myCom from './renderTest/myCom.js'
    8. export default {
    9. components: {
    10. myCom
    11. },
    12. data() {
    13. return {
    14. msg: '我是来自父组件的信息',
    15. dataList: [
    16. {
    17. name: 'Json Brown',
    18. age: '12',
    19. address: 'asasasss',
    20. date: '2023-12-12'
    21. },
    22. {
    23. name: 'Json Brown',
    24. age: '12',
    25. address: 'asasasss',
    26. date: '2023-12-12'
    27. }
    28. ]
    29. }
    30. },
    31. created() {
    32. },
    33. mounted() {
    34. console.log(12)
    35. },
    36. methods: {
    37. comChange(val) {
    38. console.log('as', val)
    39. }
    40. }
    41. }
    42. script>

    render.js 

    1. import './style.scss' // 单独针对这个组件的样式
    2. const ListItem = {
    3. name: 'ListItem',
    4. props: {
    5. personList: Array
    6. },
    7. data() {
    8. return {
    9. userInfo: {
    10. name: '诸葛亮',
    11. age: '1000'
    12. }
    13. }
    14. },
    15. render(h) {
    16. const { personList, userInfo } = this
    17. return (
    18. <div>
    19. <ul class='list-view'>
    20. {
    21. personList.map((mp, index) => {
    22. return (
    23. <li class='li'>
    24. <p class='tag-sort-view'>{index + 1}p>
    25. <p>姓名:{mp.name}p>
    26. <p>年龄:{mp.age}p>
    27. li>
    28. )
    29. })
    30. }
    31. ul>
    32. {
    33. this.$scopedSlots.header({ userInfo })
    34. }
    35. div>
    36. )
    37. }
    38. }
    39. const SlotContent = {
    40. props: {
    41. userInfo: Object
    42. },
    43. render(h) {
    44. const { userInfo } = this
    45. console.log(userInfo)
    46. return (
    47. <div>
    48. <div>这是插槽的div>
    49. { userInfo.name}
    50. { userInfo.age}
    51. div>
    52. )
    53. }
    54. }
    55. export default {
    56. name: 'myCom',
    57. props: {
    58. msg: String,
    59. dataList: Array
    60. },
    61. data() {
    62. return {
    63. }
    64. },
    65. methods: {
    66. handleClick(event, info) {
    67. console.log(event, 12)
    68. console.log(info)
    69. this.$emit('on-change', info)
    70. }
    71. },
    72. render(h) {
    73. /**
    74. * 解构之后,可以不用 this.
    75. * const { msg, handleClick } = this
    76. */
    77. const sSlots = {
    78. header: (props) => <SlotContent userInfo={ props.userInfo }>SlotContent>
    79. }
    80. return (// 只能有一个根元素
    81. <div>
    82. <p onClick={ ($event) => this.handleClick($event, 'info') } class='bg' style={{ color: '#10ac84', margin: '20px', padding: '20px' }}>
    83. 我是嘿嘿
    84. p>
    85. <h2 onClick={ this.handleClick }>
    86. {this.msg}
    87. h2>
    88. <ListItem personList={ this.dataList } scopedSlots={sSlots}>ListItem>
    89. div>
    90. )
    91. }
    92. }

     

  • 相关阅读:
    C#【必备技能篇】ConfigurationManager 类的使用(文件App.config的使用)
    【算法刷题日记之本手篇】跳台阶扩展问题与快到碗里来
    程序人生 / 散文分享 / 生活感悟——【追光的日子】《爷爷的12本日历》,若你也共情,欢迎在评论区分享你的故事、观点、感悟和思考!
    生物医药行业密钥管理系统特点 安当加密
    5、Zab协议
    linux开发板运行某一个脚本后报No such file or directory
    1794 - 最长不下降子序列(LIS)
    [附源码]JAVA毕业设计霍山石斛网站(系统+LW)
    霸道的 AliPaladin64.sys
    Mac下搭建Texstudio+Textlive(Mactex)
  • 原文地址:https://blog.csdn.net/qq_37899792/article/details/133806172
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号