Vue.js. Why when updating via Ajax, the data is overwritten every time, even if they have not changed?

Write a small application on vue.js - pop-up notifications.
Data request ajax'ohms. And now it turns out that on every request, the data in the template redrawn. Tried to wrap the list of messages in transition-group, but not get the effect which is expected, due to the fact that the data is overwritten each time.
How to make to update only the changed items?

Vue.js:
alarm_app = new Vue({
 delimiters: ['{*', '*}'],
 el: '#alarm-app',
 data: {
 data: [],
 delta: []
},

 created() { this.getData(); },

methods:{
 // Get the data for notifications
 getData: function() {
$.ajax({
 url: '/check-state/',
 type: 'POST',
 contentType: 'application/json; charset=utf-8',
 processData: false,
 data: JSON.stringify(this.data)
 success: function (data) {
 alarm_app.data = JSON.parse(data['newstate']);
 alarm_app.delta = data['delta'];
}
});
}
}
 });


HTML:
<div id="alarm-app">
 <div v-if="delta != "">
 <transition-group name="fade" tag="div">
 <div v-for="it is in the delta" v-bind:key="it">
 <div class="obj-name">{* it.object_name *}</div>
</div>
</transition-group>
</div>
 </div>


UPD:
Found now that if you remove the transition-group and v-bind:key="it", the elements are not redrawn. Updated only when changed.
If you add a transition-group, it requires v-bind:key. I don't really understand what makes the v-bind, and what specifically you need to specify it in this case.
June 27th 19 at 15:34
2 answers
June 27th 19 at 15:36
Solution
But element has it own unique id? If so, you may try to use it in the v-bind:key. It looks like right now here constantly gets a new object that causes complete redraw.
Now don't ask id, but asking is not a problem.
Supplemented the question with new information. - Fern_Hickle59 commented on June 27th 19 at 15:39
Vydrica of docks:
To tell Vue how to track the identity of each object, allowing to reuse and move existing items, specify a unique key attribute for each item. The ideal value of key will be a unique entity id.

Ie when you assign v-bind:key="it" - in fact it is a permanent assignment of a new object, which causes the elements to repaint. - Edgar.Lesch commented on June 27th 19 at 15:42
Thank you for clarifications. Added unique value. Now everything works as it should. - Fern_Hickle59 commented on June 27th 19 at 15:45
June 27th 19 at 15:38
Solution
I will answer myself.
Changed v-bind:key="it" on v-bind:key="it.st"
Suppose the value of it.st must be unique, and I have they can be the same. However it works

Find more questions by tags Vue.jsJavaScript