반응형
어떻게 내가 약속 전화 간단히 뷰 앱 또는 구성 요소의 속성을 업데이트할 수 있을까요?
나는 다음과 같은 Firebase 콜백에서 뷰 속성을 업데이트 하는 것 하지만 소용없었어요.이 코드
methods: {
sign_out : function(e) {
this.item_count = 0
}
}
작품들은지만 속성이 약속 콜백에서 설정됩니다:.
methods: {
sign_out : function(e) {
firebase.auth().signOut().then(function() {
this.item_count = 0
})
},
어떻게 이번 사건에 한 속성의 가치 세울 수 있을까요?
당신의.this
콜백는 것은 틀린 개체를 가리키고 있다.당신이 이 문제를 해결할 수 있는 몇가지 방법이 있다.
Capture
this
폐쇄적에.methods: { sign_out : function(e) { var self = this; self.item_count = 0 firebase.auth().signOut().then(function() { self.item_count = 0 }) }
뚱뚱한 화살표를 사용하여.
methods: { sign_out : function(e) { this.item_count = 0 firebase.auth().signOut().then(() => this.item_count = 0) } }
사용 bind().
methods: { sign_out : function(e) { this.item_count = 0 firebase.auth().signOut().then(function() { this.item_count = 0 }.bind(this)) }
뚱뚱한 화살 모든 현대 브라우저에서 만약 당신이 es5에 구축하고 있지 않아 이를 사용하여 작동하지 않습니다.
한가지 방법은 콜백의 이것은 밖에 대한 참조를 만드는 것이다.콜백이 내부의 의도된 개체의 이 접근에 대한 참조를 사용합니다.
그래서 차와 같은 것:
methods: {
sign_out : function(e) {
this.item_count = 0
_this = this;
firebase.auth().signOut().then(function() {
_this.item_count = 0
})
},
언급URL:https://stackoverflow.com/questions/42590538/how-can-i-update-a-vue-apps-or-components-property-in-a-promise-call-back
반응형
'sourcecode' 카테고리의 다른 글
열을 빈 문자열로 기본 설정하다 (0) | 2022.09.12 |
---|---|
PHP 스크립트 - linux 또는 Windows에서 실행 중 어느 쪽을 검출합니까? (0) | 2022.09.12 |
날짜에 10초 추가 (0) | 2022.09.12 |
형식 스크립트 형식 'string'을 형식에 할당할 수 없습니다. (0) | 2022.09.12 |
PHP의 file_get_contents() 함수의 경고는 어떻게 처리합니까? (0) | 2022.09.12 |