Ich habe einige benutzerdefinierte Komponenten in Vue.js. In einer der Komponenten, die ich habe, ist eine Auswahlliste, die ich als Chosen Auswahlfeld rendern möchte. Ich benutze dies mit einer jQuery-Funktion $("select").chosen()
.Vue.js führt einen Ereignisauslöser aus, nachdem die Komponente gerendert wurde?
<template v-for="upload in uploads">
<new-upload-container :index="$index" :upload="upload" v-if="isNewUpload"></new-upload-container>
<existing-upload-container :index="$index" :upload="upload" v-if="isExistingUpload"></existing-upload-container>
</template>
Nachdem ich Daten an den uploads
gebundenen Array in der Vue Instanz hinzufügen, die Ansicht aktualisiert mit einer Instanz der Komponente. Leider, wenn ich versuche, Chosen
in das Auswahlfeld zu instanziieren, funktioniert es nicht.
Ich bin mir nicht sicher, ob es eine kurze Zeit dauert, nachdem ich ein Element zum uploads
gebundenen Array hinzufüge, das das DOM tatsächlich aktualisiert.
<template id="existing-upload-container">
<select name="beats[@{{ index }}][existing_beat]" class="existing-beats">
<option selected="selected" value="">-- Select a linked beat --</option>
@foreach ($beats as $beat)
<option value="{{$beat->id}}">{{$beat->name}}</option>
@endforeach
</select>
</template>
Gibt es ein Ereignis, das ausgelöst wird, nachdem eine Komponente vollständig gerendert wurde?
nach der +1, es sieht aus wie in vuejs 2 'ready' wird durch' updated' ersetzt, schaue hier: https://vuejs.org/v2/guide/instance.html ich testete 'fertig 'es hat nicht funktioniert –
@MajedDH Ich glaube, die richtige wäre' mounted', weil aktualisierte deckt mehr als das. Ich konnte es nicht mit "fertig" arbeiten, aber 'montiert' arbeitete wie erwartet. – asselinpaul
@asselinpaul, sie sind anders. Mit mounted können Sie nicht das Problem lösen, etwas an dynamisch erzeugte Elemente aus Async-geladenen Daten zu binden. aktualisiert funktioniert hier. –