programing

Vue JS 이벤트 버스 데이터가 이벤트 범위를 벗어나 작동하지 않음

bestcode 2022. 9. 18. 12:52
반응형

Vue JS 이벤트 버스 데이터가 이벤트 범위를 벗어나 작동하지 않음

사용자가 데이터를 업데이트할 때마다 업데이트 data.so에 대한 경고를 표시하기 위해 이벤트 버스를 사용하고 있습니다. 이를 위해 "Data is udpated"라는 경고를 표시하고 싶기 때문에 이벤트 버스를 사용하고 있습니다.

여기 있다BlogEdit.vue이벤트를 실행하는 컴포넌트

app.$router.push('/', () => {
    vueBus.$emit('showAlertBox')
})

그리고 인BlogList.vue이 이벤트에 참가하고 있습니다.

data: function(){
    return {
        showalert: false,
    }
},
vueBus.$on('showAlertBox',(data) => {
    this.showalert = true;
    console.log(this.showalert); //Returns True
})
console.log(this.showalert); //Returns False

그러나 결과는 예상외로 다시 false로 바뀝니다.

왜죠this.showalertfalse로 변경하시겠습니까?그러면 경보 상자가 표시되지 않습니다.

처음 접하기 때문에 설명서 및 기타 솔루션을 읽었지만 어디가 잘못되었는지 알 수 없습니다.

언급URL : https://stackoverflow.com/questions/66794158/vue-js-event-bus-data-not-working-outside-scope-of-event

반응형