С vue 2.0 лучше всего убедиться, что изменение данных вызывает обновление dom каждый раз, это Vue.set с ассоциативными массивами (объектами объектов), но для большей эффективности ваш запрос на обновление / создание должен вернуть объект, тогда вы можете либо вставьте его в массив или используйте этот метод:
import Vue from 'vue'
createAddress(data) {
axios.POST('your-url', data).then( address => {
Vue.set($store.addresses, address.id, address)
})
}
Чтобы использовать это, вы должны изменить свой массив адресов для такой ассоциации:
import Vue from 'vue'
getAddresses(state) {
axios.GET('your-url').then(addresses => {
addresses.forEach(address => {
Vue.set(state.addresses, address.id, address)
})
})
}
Вы также можете сделать это с
Object.assign(state.addresses[address.id], address)
но по моему опыту это иногда не обновляет dom по неизвестной причине.
тогда ваш address_list должен быть вычисленным, который указывает на адреса в вашем управлении состоянием (vuex или другое)
computed: {
address_list() {
return $store.addresses
}
}