web-dev-qa-db-ja.com

コンポーネントvuejsの外部のストアにアクセスする

OpenID Connect認証を設定するためのファイルがあります

export const authMgr = new Oidc.UserManager({
  userStore: new Oidc.WebStorageStateStore(),
  authority: **appsetting.oidc**
})

Appsettingの価値を得るために、自分の状態にアクセスしたい。

これは私がしました:

import store from './store'

const appsetting = () => store.getters.appsetting

しかし、私のappsettingは常に未定義を返しています

私は何が欠けていますか?

お店:

app.js

const state = {
  appsetting: appsetting,
}

export {
  state 
}

getters.js

const appsetting = state => state.appsetting

export {
  appsetting
}

index.js

export default new Vuex.Store({
  actions,
  getters,
  modules: {
    app
  },
  strict: debug,
  plugins: [createLogger]
})

store.gettersの値を出力すると、これが返されます。

{
  return __WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].getters;
}

実際のストアオブジェクトはありません

14
capiono

中括弧で「ストア」をインポートしてみてください

import {store} from '../store/index'

store.getters.appSettings

別のオプションは、vueプロパティからアクセスすることです

import Vue from 'vue'

Vue.store.getters.appSettings
31
Shay Altman