itemCard.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. // components/itemCard.js
  2. const util = require('../../utils/util.js')
  3. Component({
  4. options: {
  5. styleIsolation: 'apply-shared'
  6. },
  7. /**
  8. * 组件的属性列表
  9. */
  10. properties: {
  11. item: Object,
  12. keyword: String
  13. },
  14. /**
  15. * 组件的初始数据
  16. */
  17. data: {
  18. show: true
  19. },
  20. lifetimes: {
  21. ready: function () {
  22. if (this.data.keyword) {
  23. this.setData({
  24. 'item.name': this.data.item.name.replace(new RegExp(this.data.keyword, 'gi'), '<span style="color: #009195;">$&</span>'),
  25. 'item.brief': this.data.item.brief.replace(new RegExp(this.data.keyword, 'gi'), '<span style="color: #009195;">$&</span>')
  26. })
  27. }
  28. }
  29. },
  30. /**
  31. * 组件的方法列表
  32. */
  33. methods: {
  34. getPublisherInfo: function () {
  35. wx.navigateTo({
  36. url: '/pages/publisher/publisher',
  37. }).then(res => {
  38. res.eventChannel.emit('loadCommonData', {
  39. data: this.data.item.publisher
  40. })
  41. })
  42. },
  43. getMessageInfo: function () {
  44. wx.navigateTo({
  45. url: '/pages/message/message',
  46. events: {
  47. deleteMessage: () => {
  48. this.setData({
  49. show: false
  50. })
  51. }
  52. }
  53. }).then(res => {
  54. res.eventChannel.emit('loadCommonData', {
  55. data: this.data.item
  56. })
  57. })
  58. },
  59. filterMsgType: function (e) {
  60. this.triggerEvent('filtermsgtype', {
  61. type: this.data.item.type[0]
  62. })
  63. },
  64. filterTag: function (e) {
  65. this.triggerEvent('filtertag', {
  66. tag: e.currentTarget.dataset.tag
  67. })
  68. }
  69. }
  70. })