色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue commit underfind

Vue.js 是一個(gè)非常流行的前端框架,它讓開(kāi)發(fā)者能夠更高效地構(gòu)建響應(yīng)式的頁(yè)面。在 Vue.js 中,我們通常會(huì)使用 commit 方法來(lái)提交一個(gè) mutation,從而改變應(yīng)用的狀態(tài)。然而,有時(shí)候在使用 commit 方法的時(shí)候可能會(huì)遇到一個(gè)錯(cuò)誤提示,即 “commit underfind”。我們來(lái)看看這個(gè)錯(cuò)誤是什么樣的,以及該如何解決它。

通常,當(dāng)我們使用 commit 方法提交一個(gè) mutation 時(shí),我們會(huì)調(diào)用一個(gè)在 store 中定義的 mutations 方法,如下所示:

mutations: {
updateName(state, newName) {
state.name = newName
}
}
this.$store.commit('updateName', 'Jack')

然而,在一些情況下,我們會(huì)發(fā)現(xiàn)上面的代碼會(huì)導(dǎo)致下面這個(gè)錯(cuò)誤:

Uncaught TypeError: Cannot read property 'commit' of undefined

這時(shí)候,我們需要注意一下兩個(gè)方面。

第一:檢查 store 實(shí)例是否正確引入了。我們?cè)谑褂?Vuex 中的時(shí)候,通常需要在 Vue 實(shí)例中進(jìn)行注冊(cè),如下所示:

import Vue from ‘vue’
import Vuex from ‘vuex’
Vue.use(Vuex)
const store = new Vuex.Store({/* options */})

第二:檢查組件中是否正確引用了該實(shí)例。有時(shí)候,我們?cè)诮M件中可能會(huì)犯錯(cuò),如下面這種情況:

computed: {
name() {
return this.$store.state.name
}
},
created() {
this.$store.commit('updateName', 'Jack')
}

我們會(huì)發(fā)現(xiàn),在上面這個(gè)代碼中,我們?cè)?created 生命周期鉤子中直接調(diào)用了 commit 方法,但其實(shí)此時(shí) store 實(shí)例尚未被創(chuàng)建,因此會(huì)發(fā)生 “commit underfind” 的錯(cuò)誤。為了解決這個(gè)問(wèn)題,我們需要將這條語(yǔ)句移到 mounted 生命周期鉤子中,如下所示:

computed: {
name() {
return this.$store.state.name
}
},
mounted() {
this.$store.commit('updateName', 'Jack')
}

在真正的渲染完成之后,這個(gè)組件的實(shí)例會(huì)被創(chuàng)建,此時(shí)我們就可以對(duì) store 實(shí)例進(jìn)行調(diào)用了。