programing

$store가 정의되지 않은 이유는 무엇입니까?

goodsources 2022. 8. 31. 22:53
반응형

$store가 정의되지 않은 이유는 무엇입니까?

vuejs 및 vuex를 사용하여 프로젝트를 개발하는 데 어려움을 겪고 있지만 vuej 및 vuex와 함께 사용할 수 없습니다.this.$store.state.count왜일까요?

설정:

"vuex": "^2.0.0"

store.syslog:

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    count: 12
  },
  mutations: {
    increment (state) {
      state.count++
    }
  },
  strict: true
})

main.filename:

import store from './vuex/store'
import Vue from 'vue'

new Vue({
  store,
  .
  .
  .
}).$mount('#app')

component.component:

<script>
export default {
    name: 'landing-page',
    created: () => {
      console.log('status2')
      console.log(this.$store.state.count)
    }
  }
</script>

오류:

Uncaught TypeError: Cannot read property '$store' of undefined

스토어를 직접 편집할 수 없습니다.

항상 돌연변이를 트리거합니다.

그대로(component.js):

<script>
import store from './vuex/store'

export default {
  name: 'landing-page',
  computed: {
    counter () {
      return store.state.count // get state
    }
  },
  created: () => {
    store.commit('increment') // set state
  }
}
</script>

그 이유는this화살표 기능은 당신이 기대하는 것이 아닙니다.this'정상적인 기능'에 있습니다.자세한 내용은 Arrow 함수 또는 Javascript ES6 — Arrow 함수Lexical참조하십시오.

언급URL : https://stackoverflow.com/questions/41063959/why-is-store-not-defined

반응형