pallax.ts 931 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // components/pallax/pallax.ts
  2. Component({
  3. /**
  4. * 组件的属性列表
  5. */
  6. properties: {
  7. images: {
  8. type: Array,
  9. value: [],
  10. observer(val) {
  11. const len = val.length
  12. const newarr = [] as string[][]
  13. const arr = JSON.parse(JSON.stringify(val)) as string[]
  14. function take(len: number, num: number) {
  15. const cnt = Math.ceil(len / num)
  16. newarr.push(arr.splice(0, cnt))
  17. len -= cnt
  18. num -= 1
  19. if (num > 0 && len > 0) {
  20. take(len, num)
  21. }
  22. }
  23. take(len, 3)
  24. this.setData(
  25. {
  26. arr: newarr,
  27. },
  28. () => {
  29. console.log(this.data.arr)
  30. },
  31. )
  32. },
  33. },
  34. },
  35. /**
  36. * 组件的初始数据
  37. */
  38. data: {
  39. arr: [] as string[][],
  40. },
  41. /**
  42. * 组件的方法列表
  43. */
  44. methods: {
  45. animate() {
  46. },
  47. },
  48. })