2
0

stateless-multi-components.vdom.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. ({
  2. type: 'recycle-list',
  3. attr: {
  4. append: 'tree',
  5. listData: [
  6. { type: 'A' },
  7. { type: 'B', poster: 'yy', title: 'y' },
  8. { type: 'A' }
  9. ],
  10. switch: 'type',
  11. alias: 'item'
  12. },
  13. children: [{
  14. type: 'cell-slot',
  15. attr: { append: 'tree', case: 'A' },
  16. children: [{
  17. type: 'div',
  18. attr: {
  19. '@isComponentRoot': true,
  20. '@componentProps': {}
  21. },
  22. classList: ['banner'],
  23. children: [{
  24. type: 'text',
  25. classList: ['title'],
  26. attr: { value: 'BANNER' }
  27. }]
  28. }, {
  29. type: 'text',
  30. attr: { value: '----' }
  31. }, {
  32. type: 'div',
  33. attr: {
  34. '@isComponentRoot': true,
  35. '@componentProps': {}
  36. },
  37. classList: ['footer'],
  38. children: [{
  39. type: 'text',
  40. classList: ['copyright'],
  41. attr: { value: 'All rights reserved.' }
  42. }]
  43. }]
  44. }, {
  45. type: 'cell-slot',
  46. attr: { append: 'tree', case: 'B' },
  47. children: [{
  48. type: 'div',
  49. attr: {
  50. '@isComponentRoot': true,
  51. '@componentProps': {}
  52. },
  53. classList: ['banner'],
  54. children: [{
  55. type: 'text',
  56. classList: ['title'],
  57. attr: { value: 'BANNER' }
  58. }]
  59. }, {
  60. type: 'div',
  61. attr: {
  62. '@isComponentRoot': true,
  63. '@componentProps': {
  64. imageUrl: { '@binding': 'item.poster' },
  65. title: { '@binding': 'item.title' }
  66. }
  67. },
  68. children: [{
  69. type: 'image',
  70. classList: ['image'],
  71. attr: {
  72. src: { '@binding': 'imageUrl' }
  73. }
  74. }, {
  75. type: 'text',
  76. classList: ['title'],
  77. attr: {
  78. value: { '@binding': 'title' }
  79. }
  80. }]
  81. }]
  82. }]
  83. })