[Vue warn]: Fehler im gemounteten Hook: "ReferenceError: post_id ist nicht definiert"


PC-Sound

Ich mache eine neue Vue 2-Komponente, die die Anzahl der Likes nach dem Drücken der Like-Taste anzeigt. Und erhalte den Fehler:

app.js: 5060 [Vue warn]: Fehler im gemounteten Hook: "ReferenceError: post_id ist nicht definiert"

<template> 
        <span>
            <i class="fa fa-heart"></i> {{ likescount }}
        </span>    
 </template> 

<script>
    import { bus } from '../bootstrap';
    import 'vuejs-noty/dist/vuejs-noty.css'
    export default {
        props: ["post_id"],
        
        data: function() {
            return { 
                likescount: 0,
                
            }
        },
        
        created(){
            bus.$on('postliked', (data) => {
               this.updatelikescount(post_id); 
            });
        },
        mounted : function() {
            post_id = {};
            this.updatelikescount(post_id);
        
        },
        
        methods: {
           
            updatelikescount(post_id) {

            axios
                .get('/blog/post/likecount/' + post_id)
                .then(response => {
                    this.likescount = response.data.data[0][0]
                })        
                .catch(response => console.log(response.data));
             },
            
        }
    };
</script>

Das ist meine Klingenvorlage

<likepostcount 
            :post_id={{ $post->id }}
        ></likepostcount>

Wenn ich die Vue Dev Tools öffne, sehe ich die post_id = 4

whoacowboy

Es sieht so aus, als müssten Sie dies nur hinzufügen.

mounted : function() {
  this.post_id = {};
  this.updatelikescount(this.post_id);

},

Ihr Code setzt die post_id immer auf ein leeres Objekt. Sie möchten wahrscheinlich einen Standardwert festlegen, wenn Sie die Requisiten deklarieren.

props: {
  post_id: {
    type: Object,
    default: () => {}
  }
},
mounted : function() {
  this.updatelikescount(this.post_id);
},

Verwandte Artikel


async await im gemounteten Lebenszyklus-Hook

Lowtrux Ich möchte, dass meine Komponente wartet, bis das Versprechen im gemounteten Lebenszyklus-Hook aufgelöst ist, aber es zeigt weiterhin "undefiniert" an (weil die Daten nicht vorhanden sind, wenn die Komponente gerendert wird). <template> <div class=