Vue js Die Ready-Funktion wird nicht ausgelöst

8

Ich habe diese Vue-Funktion, wo es grundsätzlich zwei Methoden gibt. Der erste postStatus wird verwendet, um einen Beitrag zu speichern, unmittelbar nachdem der Benutzer auf die Schaltfläche zum Speichern geklickt hat, und der andere getPosts wird verwendet, um alle früheren Beiträge dieses Benutzers aus der Datenbank abzurufen.

Hier ist die vue.js, wo es einen Ajax-Aufruf an einen Controller gibt (in Laravel 5.3)

%Vor%

Bisher funktioniert die erste Methode postStatus gut.

Der zweite soll direkt bei der Ready-Funktion angerufen oder abgefeuert werden, aber nichts passiert. Ich bekomme nicht einmal die console.log Nachricht Attempting to get the previous posts ... . Es scheint, es ist nie gefeuert.

Was ist das Problem? Wie repariere ich es?

Hinweise: Ich verwende jQuery 3.1.1, Vue.js 2.0.1

    
Pathros 24.10.2016, 01:07
quelle

2 Antworten

34

Ich sehe, dass Sie Vue 2.0.1 verwenden. In Vue 2.0 und höher gibt es keine Methode ready .

Hier ist der Link zur Liste aller Vue 2.0 Änderungen: Ссылка

Wie auf der obigen Seite erwähnt, können Sie mounted anstelle von ready verwenden.

Kein Problem, sondern nur eine Anmerkung: Sie mischen jQuery und Vue ausgiebig. Wenn Sie jQuery nur für http-bezogene Funktionen benötigen, können Sie stattdessen vue-resource - Ссылка

verwenden

BEARBEITEN: Update auf vue-resource

Wie von @EmileBergeron in den Kommentaren hervorgehoben, wurde vue-resource bereits im November 2016 zurückgezogen (einige Wochen nachdem ich diese Antwort mit dem letzten Absatz auf vue-resource angegeben habe). Hier finden Sie weitere Informationen:

Ссылка

    
Mani 24.10.2016, 02:10
quelle
7

@ Manis Vorschlag, mounted(){} zu verwenden, funktioniert bei der Komponente, die nicht ausgeblendet ist. Wenn Sie eine Funktion in der Komponente ausführen möchten, wenn sie sichtbar ist und die mit Bedingungen wie v-if="" oder v-show="" ausgeblendet wird, verwenden Sie updated(){} .

    
Syed 27.04.2017 16:49
quelle

Tags und Links