renxing2436
renxing2436
  • 发布:2022-01-14 17:17
  • 更新:2022-01-14 17:17
  • 阅读:795

vue2全局mixin注入查询当前所在是page还是component的方法

分类:uni-app

在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 关注 分享

要回复文章请先登录注册