我可以将我的插件添加到所有Vue组件,例如使用Vue.use(myPlugin),然后通过它访问它。$ myPlugin。
我想从vuex调用我的插件。
我如何使用Vuex商店行为做同样的事情?
插件是这样的:
const SwaggerApi = {
install(Vue, options) {
Swagger({
url: 'http://localhost:3000/explorer/swagger.json',
requestInterceptor(req) {
req.headers['Accept'] = 'application/json'
req.headers['content-type'] = 'application/json'
req.headers['Access-Control-Allow-Origin'] = 'http://localhost:3000'
req.headers['Authorization'] = localStorage.getItem('token')
return req
}
})
.then((client) => {
// console.log(client)
client.spec.basePath = '/api'
Vue.prototype.$swagg = client.apis // <=== What should be here?
}, (error) => {
console.error('failed to load api spec: %o', error)
})
}
}
我尝试在我的商店中添加Vue.use(SwaggerApi)
,并且'Vuex.use(SwaggerApi)'和`plugins:[SwaggerApi]'无效。