【问题标题】:unable to access the globalProperties - vuejs v3无法访问 globalProperties - vuejs v3
【发布时间】:2021-08-30 05:39:40
【问题描述】:

我目前的项目在Quasar frameworkvuejs 2

我有一个文件/src/boot/gfunc.js

import Vue from 'vue'
Vue.prototype.$module = 'foo';

/quasar.conf.js

 boot: ['gfunc'],

/src/pages/Foo.vue

beforeCreate : function () {
    console.log(this.$module);
}

它工作正常!在控制台中我可以看到 foo

现在我将vuejs 3Quasar framework 一起使用,现在将Vue.prototype 替换为app.config.globalProperties [Doc]

我的更改如下

/src/boot/gfunc.js 根据 [Doc]

import { createApp } from 'vue'
import Vue from 'vue'
const app = createApp({})
app.config.globalProperties.$module = 'foo';

/quasar.conf.js

 boot: ['gfunc'],

/src/pages/Foo.vue

beforeCreate : function () {
    console.log(this.$module);
}

这次不行,控制台打印undefined

【问题讨论】:

    标签: javascript vue.js vuejs2 vuejs3 quasar-framework


    【解决方案1】:

    我也有同样的问题。在我的情况下是访问 axios。在 v2 中,我以这种方式访问​​

    this._vm.$http.get(url)
    

    但现在在 v3 中,我不知道如何制作同样的东西。

    ===========================

    我这样解决了我的问题:

    在我创建 de app 并创建 app.config.globalProperties.$http 变量的文件中,我也将 http 实例放入了 de store。像这样:

    export default async ({ app, store }) => {
      // your logic
    
      app.config.globalProperties.$http = http
      store.$http = http
    }
    

    在我使用this._vm.$http 的文件中,我使用this.$http,没有_vm

    我真的希望这对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2021-04-15
      • 2014-11-19
      • 2020-07-25
      • 2014-08-13
      • 1970-01-01
      • 2017-04-14
      • 1970-01-01
      • 2019-06-06
      • 2017-06-23
      相关资源
      最近更新 更多