goodsgroup.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var Nova = getApp().Nova
  2. Component({
  3. /**
  4. * 组件的属性列表
  5. */
  6. properties: {
  7. options: null
  8. },
  9. /**
  10. * 组件的初始数据
  11. */
  12. data: {
  13. column: 'one', // 展示形式
  14. list: null
  15. },
  16. lifetimes: {
  17. attached: function() {
  18. let { options } = this.data
  19. console.log('商品组', options)
  20. let { data, style, column } = options
  21. this.setData({
  22. column,
  23. src: data.src,
  24. style
  25. })
  26. }
  27. },
  28. ready: function() {
  29. // 在组件布局完成后执行,确保options参数中有data信息
  30. console.log('ready')
  31. this.loadData()
  32. },
  33. /**
  34. * 组件的方法列表
  35. */
  36. methods: {
  37. // 加载数据的重要方法
  38. loadData: async function() {
  39. await Nova.checkComponentsDataProperties(this)
  40. let list = await Nova.getBlockData(this.data.options.data)
  41. list = list.length > 0 ? list :this.data.options.data.list
  42. console.log(list)
  43. this.setData({
  44. list: list
  45. })
  46. },
  47. goNovaURL: function(ev) {
  48. console.log(ev)
  49. let { url, id } = ev.currentTarget.dataset
  50. if (id) {
  51. url = `/nova-shop/pages/shop-goods/goods-detail/index?id=${id}`
  52. }
  53. console.log(url)
  54. Nova.goNovaURL(url)
  55. }
  56. }
  57. })