Rumah > Soal Jawab > teks badan
Apabila menggunakan vuex, secara logiknya, apabila data berubah, anda perlu menggunakan panggilan action
,再让action
去触发mutation
untuk mengemas kini data.
Tetapi seperti contoh berikut, apabila data adalah jenis data rujukan, saya menggunakan data secara terus v-model
绑定数据,数据就可以直接更改了,不需要再调用action
.
Jika anda ingin memanggil action
,那么我只改对象中的其中一个key
值,是要watch
objek ini, dan kemudian apabila objek berubah, teruskan terus objek baharu dalam bentuk parameter, adakah keseluruhan objek akan dikemas kini? Ini nampaknya sangat menyusahkan. Adakah cara lain yang mudah?
Jadi saya ingin bertanya, bagaimana cara menggunakan jenis data rujukan ini dengan betul dalam vuex
?
Dilampirkan kod pseudo:
negeri
state = {
nestedObject: {
sub: {
key1: 'value',
key2: 'value',
key3: 'value',
...
}
}
}
fail vue
<template>
<input v-model="nestedObject.sub.key1" />
</template>
<script>
computed: {
...mapGetters([
'nestedObject'
])
}
</script>
phpcn_u15822017-05-19 10:45:48
Kelemahan atribut objek keadaan vuex yang diubah suai secara langsung ini ialah ia tidak boleh dijejak dan dinyahpenyah melalui Vue devtools tanpa komit atau penghantaran
Selain menggunakan jam tangan, anda juga boleh mempertimbangkan kaedah berikut:
https://jsfiddle.net/KingMari...
Dalam vuex, anda hanya perlu menetapkan mutasi updateKey1, yang lebih mudah daripada mencipta pemerhati dalam .