반응형
vue의 비동기식 소품
나는 비동기식 전화를 거는 방법이 있다.
methods: {
getPercentCovered() {
this.getPercentageCompletedBySubject(1).then((percent) => {
return percent;
});
},
그것은 아약스 요청에 의해 반환된 값에서 백분율을 계산한다.
내가 생각하는 문제는 지연이다.
<progress-bar :percent="getPercentCovered()"></progress-bar>
그 값은 소품을 렌더링하기 전에는 절대 전달되지 않는다.주변에 일이 있나?
문제는 지연이 아니다.문제는 이다getPercentCovered()
다시는 돌아오지 않다percent
: 실제로 돌아온다.undefined
너는 할 수 없다.return
비동기적 운영의 결과: 그러한 시나리오에서 당신이 할 수 있는 가장 큰 것은 약속 전체를 돌려주고 그것을 아이에게서 처리하는 것이다.
이 유명한 대답은 당신의 코드의 일반적인 문제를 강조한다.
자, 당신의 질문의 Vue 부분에 대해서, 이것을 다룰 수 있는 몇 가지 방법이 있다.내 생각에 가장 간단한 것은 어린이에게 소품을 전달하고 그 소품은 어린이에게 업데이트되면 업데이트되는 것 같다.getPercentageCompletedBySubject
결심하다내가 전화할께.created()
라이프사이클 훅실제 사용 사례에 따라 다른 이벤트 핸들러로 이동하십시오.
//script
data() {
return {
percent: '', //or maybe null or whatever empty value.
};
},
methods: {
getPercentCovered() {
this.getPercentageCompletedBySubject(1).then((percent) => {
this.percent = percent; //instead of return from a handler, which does nothing ,
// now we assign to this.percent
});
},
created(){
this.getPercentCovered();
}
//template
<progress-bar :percent="percent"></progress-bar>
참조URL: https://stackoverflow.com/questions/51750066/asynchronous-props-in-vue
반응형
'programing' 카테고리의 다른 글
React Navigator(탐색 반응) 버튼을 사용하여 모달 화면을 푸시하는 방법 (0) | 2022.03.19 |
---|---|
vue 구성 요소의 "BeforeRouteEnter" 후크가 트리거되는 조건은? (0) | 2022.03.19 |
v-data-table에 클릭 이벤트를 추가하는 방법 (0) | 2022.03.19 |
i18n을 사용하여 vue-roouter에서 메타 태그 변환 (0) | 2022.03.19 |
vue.js 2의 다른 구성 요소에서 메소드를 호출하려면 어떻게 해야 하는가? (0) | 2022.03.19 |