Я столкнулся с ошибкой при передаче данных с использованием eventbus. Я попытался передать данные из «Quoteinput. vue» в «Quotebar. vue», чтобы обновить длину индикатора выполнения в зависимости от длины данных в «Quoteinput. vue».
Это было успешно сделано, когда я установил две функции в 'Quoteinput. vue'.
Одна из них предназначена для отправки данных в массив.
Другой предназначен только для шины событий.
См. Код ниже.
= Quoteinput. vue =
<template>
<div>
<!-- <div class='input-group' style='position:relative'> -->
<div class='input-group-prepend'>
<span class = 'input-group-text'> Type your Quote</span>
</div>
<textarea class ='form-control' aria-label='with textarea' v-model="message"></textarea><hr><hr>
<button class="btn btn-primary" @click='addingmessage'>submit my quote</button>
<button class="btn btn-primary" @click='addprogress'>progresscheck</button>
<textbox class='messagebox' v-for='value in quote' :typedquote ='value'></textbox>
<!-- v model 이랑 v-for를 통해서 추가하면 되겠구만 -->
<!-- Text box showing -->
</div>
</template>
<script>
import textbox from './quotebox.vue'
import {ProgressBus} from '../../main.js'
export default {
data(){
return {
quote:[],
message:'',
}
},
components:{
textbox
},
methods:{
addingmessage(){
this.quote.push(this.message)
// 프로그레스 버스가 여기서 쿠오트 데이터를 물어가지고, 쿠오트바로 가져가야한다.
},
addprogress(){
ProgressBus.$emit('quotedata',this.quote)
}
}
}
Однако это был не мой оригинальный план. Я попытался поместить prgressbus и выдвинуть массив в одну функцию, которая добавляет message (). как показано ниже.
methods:{
addingmessage(){
this.quote.push(this.message)
ProgressBus.$emit('quotedata',this.quote)
}
Почему произошла эта ошибка? и что я должен сделать, чтобы это исправить?
Код, который на самом деле dr aws индикатор выполнения, как показано ниже.
= Quotebar.vue =
<template>
<div class="progress" style="height: 20px;">
<div class="progress-bar" role="progressbar" :style="{width:10*completion+'%'}" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</template>
<script>
import {ProgressBus} from '../../main.js'
export default {
created(){
ProgressBus.$on('quotedata',(value)=>{
this.completion= value.length
})
},
data(){
return{
completion: 0
}
}
}
</script>
<style scoped>
</style>
Для вашего понимания я прилагаю простую диаграмму для структуры , 