app-mixin.js 790 B

1234567891011121314151617181920212223242526272829303132
  1. import { mapState } from 'vuex'
  2. const baseMixin = {
  3. computed: {
  4. ...mapState({
  5. layout: state => state.app.layout,
  6. navTheme: state => state.app.theme,
  7. primaryColor: state => state.app.color,
  8. colorWeak: state => state.app.weak,
  9. fixedHeader: state => state.app.fixedHeader,
  10. fixedSidebar: state => state.app.fixedSidebar,
  11. contentWidth: state => state.app.contentWidth,
  12. autoHideHeader: state => state.app.autoHideHeader,
  13. isMobile: state => state.app.isMobile,
  14. sideCollapsed: state => state.app.sideCollapsed,
  15. multiTab: state => state.app.multiTab
  16. }),
  17. isTopMenu () {
  18. return this.layout === 'topmenu'
  19. }
  20. },
  21. methods: {
  22. isSideMenu () {
  23. return !this.isTopMenu
  24. }
  25. }
  26. }
  27. export {
  28. baseMixin
  29. }