在main.js中全局注入mixin,查询当前this所在的位置,如 page页面还是component组件
代码如下
// main.js
import pageReady from '@/mixins/pageReady'
Vue.mixin(pageReady)
// pageReady.js
/**
* this.mpType 可以获取到当前所在的是app、page、component
* 目前只测试了APP-PLUS/H5/微信/QQ/字节
* APP-PLUS:component 返回的结果是 undefined,其他正常
* H5:全都是undefined,可以通过其他参数进行区分
* 微信/QQ/字节(暂时理解为MP):app 返回的是undefined,其他正常
*/
module.exports = {
computed: {
pageType() {
let mpType = this.mpType
// #ifdef APP-PLUS
if (mpType === undefined) {
mpType = 'component'
}
// #endif
// #ifdef MP
if (mpType === undefined) {
mpType = 'app'
}
// #endif
// #ifdef H5
if (this.appOptions) {
mpType = 'app'
} else if (this.$mp) {
mpType = 'page'
} else if (!this.$mp && this.$root.$mp) {
mpType = 'component'
}
// #endif
return mpType
}
}
}
0 个评论
要回复文章请先登录或注册