Aktualisierung las ich eine Liste von Elementen über AJAX und schieben Sie es in einen Daten-Arrayvue.js ist nicht das DOM zu aktualisieren, nachdem das Array
loadSparepartFiles: function(){
var vm = this;
vm.activeSparepart.attachments = [];
ajaxApi.loadJson('spareparts/sparepart/getFiles/'+vm.activeSparepartId, function (data) {
for(var i = 0; i < data.files.length; i++){
vm.activeSparepart.attachments.push({
filename: data.files[i]
});
}
});
},
In dem VUE DevTools in Chrome i das Datenfeld aktualisiert sehen , aber die DOM-Liste ist noch leer.
Die Vorlage:
<div v-for="file in activeSparepart.attachments" class="uk-width-1-2 uk-margin-bottom">
<a href="{{ baseUrl }}/download/sparepart/{{ activeSparepartId }}/{{ file.filename }}" target="hidden-frame" class="block-link">
<i class="delete uk-icon-remove"></i>
<i class="icon uk-icon-image"></i>
<span class="title">
{{ file.filename }}
</span>
</a>
Das activeSparepart Objekt hier initialisiert:
resetSparepart: function(){
this.activeSparepart = {
alternates: [],
locations: [],
logs: [],
usages: [],
vendors: [],
sparepart: {},
attachments: []
};
this.activeSparepartId = 'new';
},
vue DevTools zeigen th folgende
jsFiddle Stellen, weil es unmöglich ist, zu wissen, was Sie in der Vorlage tun –
Ich habe die Vorlage für die Frage. – user6905325
Wie ist Ihr 'activeSparepart' in der Komponente definiert? –