私はvue.jsにストアをセットアップし、コンポーネントの計算された部分の状態パラメーターにアクセスできます。
computed: {
BASE_URL () {
return this.$store.state.BASE_URL;
}
ただし、同じコンポーネントのメソッドでストアにアクセスしようとすると:
methods: {
register: function () {
axios.post( this.BASE_URL + "/web/register", {
username: this.username,
password: this.password,
email: this.email
}).then(function(data){
this.$store.commit('saveToken', data.token);
console.log('token is set to:', this.$store.state.token)
});
}
},
コンソールでこのエラーが発生します:
不明(約束どおり)TypeError:未定義のプロパティ '$ store'を読み取れません
私も試しました$store
this
なしで同じエラーが発生します。
ここで何が問題になっていますか?どうすれば修正できますか?
アロー関数の代わりにJavaScript関数を使用しています。これを試してみてください。うまくいくはずです。
methods: {
register () {
axios.post( this.BASE_URL + "/web/register", {
username: this.username,
password: this.password,
email: this.email
}).then( (data) => {
this.$store.commit('saveToken', data.token);
console.log('token is set to:', this.$store.state.token)
});
}