펑션을 한 depth 더 들어가면 $호출이 안되는 이유가 뭘까요?
293
작성한 질문수 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
943
1
Expected indentation of 2 spaces but found 4 오류
0
880
1
카카오 로그인 에러가 뜨세요
0
441
1
Multi-word질문드립니다.
0
242
2
설치 이후 npm run serve 화면 안나옴
0
659
1
vue cli 문제
0
371
2
요청드립니다.
0
163
0
eslint 에러발생
0
1393
1
main.js 질문드립니다.
0
234
1
vuex-persistedstate 는 동작 자체를 안하네요?
0
375
1
15강.조회화면 저장실습 - params안됨
0
289
1
array 넘겨주기
0
165
0
유튜브 4시간 강의와는 어떤 차이가 있을까요?
0
292
1
prefetch기능
0
742
1
테이블 list 랜더링 되지 않습니다.
0
260
1
name 값이 없는 경우 오류
0
214
1
vue config 파일 문의
0
350
1
실무 레벨에서 공통코드(기준정보)는 어떻게 구현 할까요?
0
333
1
강의자료가 따로 있나요?
0
364
1
computed 대신 직접 this.$store.state.user 사용은 안되나요?
0
174
0
lazy-load의 성능에 대해서 질문이 있습니다.
0
207
0
Prefetch 관련 질문 드립니다.
0
144
1
저는 왜 하나의 단어가 지정이 안될까요?
0
315
1
V디렉티브 문법 오류 질문드립니다.
0
489
1





