Javascript Vue从单独的后端预取数据

Javascript Vue从单独的后端预取数据,javascript,vue.js,prefetch,Javascript,Vue.js,Prefetch,我有一些来自API服务器的查询,它返回一个json对象,该对象在用户会话中是静态的,但不会永远是静态的。 这是一个带有Vue路由器的单页机 我如何才能做到这一点: 可以在存储API服务器预取json数据的所有组件中访问this.myGlobals(或类似的例如window.myGlobals) 我的方法是通过mixin嵌入help.js 奇怪的是,我接到数百个关于这个查询的电话。起初,我认为它只发生在前端,并且会被更改,但请求实际上会被发送数百次到服务器。我认为这是我思想上的错误,或者说是系统性

我有一些来自API服务器的查询,它返回一个json对象,该对象在用户会话中是静态的,但不会永远是静态的。 这是一个带有Vue路由器的单页机

我如何才能做到这一点: 可以在存储API服务器预取json数据的所有组件中访问this.myGlobals(或类似的例如window.myGlobals)

我的方法是通过mixin嵌入help.js

奇怪的是,我接到数百个关于这个查询的电话。起初,我认为它只发生在前端,并且会被更改,但请求实际上会被发送数百次到服务器。我认为这是我思想上的错误,或者说是系统性的错误

我认为问题在于helper.js不是静态的,它存在于vue实例上

main.js:

import helpers from './helpers'
Vue.mixin(helpers)
helpers.js:

export default {
    data: function () {
        return {
            globals: {},
        }
    }, methods: {
       //some global helper funktions
        },
    }, mounted() {


        let url1 = window.datahost + "/myDataToStore"
        this.$http.get(url1).then(response => {
            console.log("call")
            this.globals.myData = response.data
        });
    }
}
登录控制台:

call
SomeOtherStuff
(31) call
SomeOtherStuff
(2) call 
....
登录服务器:

call
call
call (pew pew) 

我的下一个想法是学习vuex,但由于这是一个简单的问题,我不确定我是否真的需要那个炸弹?

您可以使用插件来实现这一点

//my-plugin.js
导出默认值{
安装(Vue,选项){
//安装后立即开始获取数据
让url1=window.datahost+“/myDataToStore”
让我的数据
Vue.$http.get(url1)。然后(响应=>{
控制台日志(“调用”)
myData=response.data
})
//通过全局mixin注入
米辛({
计算:{
myData(){
返回myData
}
}
})
//或通过实例属性注入
Vue.prototype.$myData=myData
//或者如果您想等到myData可用
Vue.prototype.$myData=Vue.$http.get(url1)
。然后(响应=>{
控制台日志(“调用”)
myData=response.data
})
}
}
并使用它:

Vue.use(VueResource)
Vue.use(myPlugin)

谢谢你的帮助和建议,很快就奏效了。重要的是要注意.prototype.propertyx。