[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);
},