inflearn logo
강의

講義

知識共有

Vue.js ちゃんと学んでみませんか(Vue.jsプロジェクト投入1週間前)

펑션을 한 depth 더 들어가면 $호출이 안되는 이유가 뭘까요?

288

oracle

投稿した質問数 2

0

안녕하세요. 강사님
 
<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의 사상을 이해하지 못하고 쓰는 것 같아 질문을 남겨봅니다.


 

vuejs vuex

回答 2

0

realprogrammers

이건 vue 문제라기 보다는 지금 사용하고 계신 $confirm 안에 deleteFile 함수가 별도 스콥으로 구현되어 있기 때문입니다.

0

realprogrammers

안녕하세요.

호출 불가라고 된 곳에서 console.log(this)를 출력해 보시면, 아마도 vue 인스턴스가 아니고 window 객체가 출력되고 있을 것 같습니다. 이 문제는 onOk() 함수가 별도의 scope으로 동작하기 때문에 그 안에서 this는 더이상 vue의 data나 함수를 접근할 수 있는 vue 인스턴스가 아니라 window 객체 혹은 지금 사용하고 계신 라이브러리를 지정하고 있을거라 생각합니다.

0

oracle

답변 감사합니다.

이런식으로 depth가 들어가는 경우가 많을텐데 이럴때 vue 인스턴스를 넘겨주거나

전역으로 호출할 수 있는 방법이 없을까요?

 

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