펑션을 한 depth 더 들어가면 $호출이 안되는 이유가 뭘까요?
288
投稿した質問数 2
<AUIGrid ref="fileGrid" class="grid-wrap"
style="height:35vh"
>
</AUIGrid>
선언 후
삭제시 함수를 호출하도록 해두었습니다.
async goDeleteFile(event) {
console.log('삭제@!!!!', event.item)
this.$message.success(`파일삭제 완료`); // 호출가능
this.$confirm({
title: '첨부를 삭제하시겠습니까?',
// content: 'Bla bla ...',
okText: '확인',
cancelText: '취소',
onOk() { // 이곳만 들어가면 $또는 $refs 접근이 불가능해짐
deleteFile({file_seq: event.item.file_seq}).then(
(res) => {
console.log('res====', res)
if (res.code == 200) {
console.log('삭제후 들어왔습니다.!@!@!@@!@!@!@!')
this.$refs.fileGrid.clearGridData() //호출 불가
this.$message.success(`파일삭제 완료`); //호출 불가
} else {
this.$message.error(res.message);
}
//return res.data;
},
error => {
console.log('error ==== ', error)
}
)
}
})
}
같은 내장 라이브러리 인 this.$message.success() 인데 goDeleteFile 함수안에서 바로 호출하면
호출이 되고 onOk() 펑션 안에서는 접근이 아예 안되는 이유 모르겠네요.
혹시 제가 vue의 사상을 이해하지 못하고 쓰는 것 같아 질문을 남겨봅니다.
回答 2
0
안녕하세요.
호출 불가라고 된 곳에서 console.log(this)를 출력해 보시면, 아마도 vue 인스턴스가 아니고 window 객체가 출력되고 있을 것 같습니다. 이 문제는 onOk() 함수가 별도의 scope으로 동작하기 때문에 그 안에서 this는 더이상 vue의 data나 함수를 접근할 수 있는 vue 인스턴스가 아니라 window 객체 혹은 지금 사용하고 계신 라이브러리를 지정하고 있을거라 생각합니다.
google login 를 따라하다가 오류 발생
0
937
1
Expected indentation of 2 spaces but found 4 오류
0
874
1
카카오 로그인 에러가 뜨세요
0
434
1
Multi-word질문드립니다.
0
234
2
설치 이후 npm run serve 화면 안나옴
0
651
1
vue cli 문제
0
361
2
요청드립니다.
0
160
0
eslint 에러발생
0
1384
1
main.js 질문드립니다.
0
228
1
vuex-persistedstate 는 동작 자체를 안하네요?
0
371
1
15강.조회화면 저장실습 - params안됨
0
286
1
array 넘겨주기
0
164
0
유튜브 4시간 강의와는 어떤 차이가 있을까요?
0
286
1
prefetch기능
0
738
1
테이블 list 랜더링 되지 않습니다.
0
254
1
name 값이 없는 경우 오류
0
209
1
vue config 파일 문의
0
346
1
실무 레벨에서 공통코드(기준정보)는 어떻게 구현 할까요?
0
327
1
강의자료가 따로 있나요?
0
362
1
computed 대신 직접 this.$store.state.user 사용은 안되나요?
0
171
0
lazy-load의 성능에 대해서 질문이 있습니다.
0
205
0
Prefetch 관련 질문 드립니다.
0
143
1
저는 왜 하나의 단어가 지정이 안될까요?
0
313
1
V디렉티브 문법 오류 질문드립니다.
0
487
1

