编程语言
首页 > 编程语言> > javascript – 使用VueJs 2的全局数据

javascript – 使用VueJs 2的全局数据

作者:互联网

我对VueJS相对较新,而且我不知道如何在全球范围内提供一些数据.我想保存API端点,用户数据和从API检索到的某些其他数据的数据,其中每个组件都可以获取此数据.
我知道我可以用vanilla Javascript来保存它,但我想有一种方法可以用VueJS来做到这一点.我或许可以使用事件总线系统来获取数据,但我不知道如何根据我的需要实现这个系统.

如果有人可以帮助我,我将不胜感激.

解决方法:

创建一个全局数据对象

const shared = {
    api: "http://localhost/myApi",
    mySharedMethod(){
        //do shared stuff
    }
}

如果你需要在你的Vue上公开它,你可以.

new Vue({
    data:{
        shared
    }
})

如果不这样做,您仍然可以在Vues或组件中访问它,如果您已导入它或它们是在同一页面上定义的.

它真的很简单.如果需要,您可以将共享作为属性传递,或者全局访问它.

当你刚刚开始时,没有必要变得复杂.通常建议使用Vuex,但对于小型项目来说也常常过度.如果以后,你发现你需要它,那么添加它并不困难.它也非常适合状态管理,听起来你真的想要访问一些全局数据.

如果你想获得幻想,请将其设为插件.

const shared = {
  message: "my global message"
}

shared.install = function(){
  Object.defineProperty(Vue.prototype, '$myGlobalStuff', {
    get () { return shared }
  })
}

Vue.use(shared);

Vue.component("my-fancy-component",{
  template: "<div>My Fancy Stuff: {{$myGlobalStuff.message}}</div>"
})

new Vue({
  el: "#app"
})

现在,您创建的每个Vue和每个组件都可以访问它.这是一个example.

标签:javascript,vue-js,vue-component,vuejs2
来源: https://codeday.me/bug/20190918/1810874.html