Как извлечь значение из props: ['id ] (число) и передать его в const app = new Vue({})?
//component
<template><--html tags --></template>
<script>
export default {
props: ['messages','id']
};
</script>
<-- Laravel view -->
<div class="panel-body">
<chat-messages :messages="messages"
:id="{{ $room->id }}"></chat-messages>
</div>
//app.js
require('./bootstrap');
Vue.component('chat-messages', require('./components/ChatMessages.vue'));
Vue.component('chat-form', require('./components/ChatForm.vue'));
const app = new Vue({
el: '#app',
data: {
messages: [],
// можно как то так id:this.props['id'] ???
},
created() {
console.log(this.id+'slave')
this.fetchMessages(); // нужно id сделать параметром это метода
Echo.private('chat')
.listen('MessageSent', (e) => {
this.messages.push({
message: e.message.message, // maybe need add room id I NOT KNOW maybe here is error
user: e.user,
room: e.room
});
});
console.log(this.messages)
},
methods: {
fetchMessages(id) {
axios.get('/messages/:id').then(response => {
this.messages = response.data;
console.log(this.id+'here')
});
},
addMessage(message) {
this.messages.push(message);
axios.post('/messages', message).then(response => {
console.log(response.data);
});
}
}
});