index.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. Component({
  2. externalClasses: ['i-class'],
  3. relations: {
  4. '../grid-item/index': {
  5. type: 'child',
  6. linked () {
  7. this.setGridItemWidth();
  8. },
  9. linkChanged () {
  10. this.setGridItemWidth();
  11. },
  12. unlinked () {
  13. this.setGridItemWidth();
  14. }
  15. }
  16. },
  17. methods: {
  18. setGridItemWidth () {
  19. const nodes = this.getRelationNodes('../grid-item/index');
  20. // const len = nodes.length;
  21. // if (len < 3) {
  22. // nodes.forEach(item => {
  23. // item.setData({
  24. // 'width': '33.33%'
  25. // });
  26. // });
  27. // } else {
  28. // const width = 100 / nodes.length;
  29. // nodes.forEach(item => {
  30. // item.setData({
  31. // 'width': width + '%'
  32. // });
  33. // });
  34. // }
  35. const width = 100 / nodes.length;
  36. nodes.forEach(item => {
  37. item.setData({
  38. 'width': width + '%'
  39. });
  40. });
  41. }
  42. },
  43. ready () {
  44. this.setGridItemWidth();
  45. }
  46. });