我只是编程的新手,刚刚尝试了 Vue 几天。
在这里,我想通过以下代码将用户的地理位置数据存储到 Vuex 状态。
mounted () {
navigator.geolocation.getCurrentPosition(foundLocation, noLocation)
function foundLocation (position) {
var userLoc = {
Lon: position.coords.longitude,
Lat: position.coords.latitude
}
console.log(userLoc)
this.$store.dispatch('userLocSave', {lat: userLoc.Lat, lon: userLoc.Lon})
}
function noLocation () {
console.log('No Location found!')
}
}
Run Code Online (Sandbox Code Playgroud)
这是 store.js状态中的代码
state: {
userLat: null,
userLon: null
}
Run Code Online (Sandbox Code Playgroud)
突变
userLocation (state, locData) {
state.userLat = locData.lat
state.userLon = locData.lon
}
Run Code Online (Sandbox Code Playgroud)
行动
userLocSave ({commit}, locData) {
commit('userLocation', {
lat: locData.lat,
lon: locData.lon
})
}
Run Code Online (Sandbox Code Playgroud)
但是,它不像我想的那样工作并显示此错误。
Uncaught TypeError: Cannot …Run Code Online (Sandbox Code Playgroud)