Из Vue Руководства по реактивности (в котором конкретно не говорится, как удалять)
Vue не может обнаружить добавление или удаление свойства
Чтобы эти мутации были реактивными, вы должны использовать встроенные методы Vue. Вы можете сделать:
this.$delete(this.object, 'three');
ИЛИ
this.$set(this.object, 'three', undefined);
Чтобы ответить на ваш вопрос об объекте, это литерал объекта .
Демонстрация:
Vue.config.productionTip = false;
Vue.config.devtools = false
new Vue({
el: "#app",
data() {
return {
object: {
one: {},
two: {},
three: {}
}
}
},
methods: {
deleteProp() {
this.$delete(this.object, 'three');
//this.$set(this.object, 'three', undefined);
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
{{ object }}
<button @click="deleteProp">Delete property</button>
</div>