You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.0 KiB
40 lines
1.0 KiB
// import Vue from 'vue' |
|
import { mapState } from "vuex"; |
|
|
|
// const mixinsComputed = Vue.config.optionMergeStrategies.computed |
|
// const mixinsMethods = Vue.config.optionMergeStrategies.methods |
|
|
|
const mixin = { |
|
computed: { |
|
...mapState({ |
|
layoutMode: state => state.app.layout, |
|
navTheme: state => state.app.theme, |
|
primaryColor: state => state.app.color, |
|
colorWeak: state => state.app.weak, |
|
multipage: state => state.app.multipage,//多页签设置 |
|
fixedHeader: state => state.app.fixedHeader, |
|
fixSiderbar: state => state.app.fixSiderbar, |
|
contentWidth: state => state.app.contentWidth, |
|
autoHideHeader: state => state.app.autoHideHeader, |
|
sidebarOpened: state => state.app.sidebar.opened |
|
}) |
|
} |
|
} |
|
|
|
const mixinDevice = { |
|
computed: { |
|
...mapState({ |
|
device: state => state.app.device, |
|
}) |
|
}, |
|
methods: { |
|
isMobile () { |
|
return this.device === 'mobile' |
|
}, |
|
isDesktop () { |
|
return this.device === 'desktop' |
|
} |
|
} |
|
} |
|
|
|
export { mixin, mixinDevice } |