navbar.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. const app = getApp()
  2. Component({
  3. properties: {
  4. navbarData: { //navbarData 由父页面传递的数据,变量名字自命名
  5. type: Object,
  6. value: {},
  7. observer: function (newVal, oldVal) {}
  8. },
  9. backgroundColor: {
  10. type: String,
  11. value: '#F7F7F7'
  12. },
  13. fontColor: {
  14. type: String,
  15. value: '#2c2b2b'
  16. },
  17. },
  18. data: {
  19. height: '',
  20. //默认值 默认显示左上角 默认返回上一页
  21. navbarData: {
  22. showCapsule: 1,
  23. capsuleMode: 'navBack', //显示模式(navBack:返回上一页;navHome:返回首页)
  24. }
  25. },
  26. attached: function () {
  27. // 获取是否是通过分享进入的小程序
  28. this.setData({
  29. share: app.globalData.share
  30. })
  31. // 定义导航栏的高度 方便对齐
  32. this.setData({
  33. height: app.globalData.height
  34. })
  35. let pages = getCurrentPages();
  36. let key = `navbarData.capsuleMode`;
  37. if(pages[pages.length - 2]) {
  38. this.setData({
  39. [key]: 'navBack'
  40. })
  41. }else{
  42. this.setData({
  43. [key]: 'navHome'
  44. })
  45. }
  46. },
  47. methods: {
  48. // 返回上一页面
  49. _navback() {
  50. wx.navigateBack({
  51. delta: 1,
  52. fail(err) {
  53. console.log(err);
  54. wx.switchTab({
  55. url: '/pages/index/index',
  56. })
  57. }
  58. })
  59. },
  60. //返回到首页
  61. _backhome() {
  62. wx.switchTab({
  63. url: '/pages/index/index',
  64. })
  65. }
  66. }
  67. })