Vuex
ストアモジュールの値にv-bind
の値でアクセスしたいとします。v-bindでのVuexへのアクセス
<input @blur="validate_field"
name="firstName"
placeholder="First Name"
:class="{fail: this.$store.state.formStore.signupForm.errors.firstName}"
/>
これは、次のエラーがスローされます。
TypeError: Cannot read property 'signupForm' of undefined
私は次を追加しようとしている:
computed: {
...mapState({
signupForm: state => state.formStore.signupForm
})
}
として失敗した行を置き換える:
:class="{fail: signupForm.errors.firstName}"
と他のもののパノラマも無駄です。何か案は?
EDITは:反応性にドキュメントを指摘して、コメントで@wesへ
const state = {
// data
formStore: {
// data
signupForm: {
// data
errors: {
// NO data
}
}
}
}
[Vuex's getters](https://vuex.vuejs.org/ja/getters.html)を使い始めることをお勧めします。 – ceejayoz
signupFormはあなたの店のオブジェクトですか?これを 'state'で参照する必要があります:this。$ store.state.formStore ...しかし、Objectがどのように作成されたかによっては動作しないかもしれません。反応する必要があります。 – wes
の後に特定のプロパティのゲッターを使用したいと思うかもしれません。@ceejayozは、このシナリオではゲッターがゲットしないようですね?私がしたいのは、値が – softcode