inflearn logo
강의

講義

知識共有

Vue3完全マスター:基礎から実践まで - 「基本編」

Provide / Inject

app-level의 provide한 값을 새로고침시 정상적으로 inject하지 못함.

526

wonjinYi

投稿した質問数 4

1

안녕하세요. Provide/Inject 강의의 마지막 부분 app레벨 provide에 대해 질문드립니다.

 

우선 코드는 아래와 같습니다.

  1. main.js

import { createApp } from 'vue';
import App from './App.vue';

const app = createApp(App);

app.mount('#app');
app.provide('msg', 'msg입니다');
  1. App.vue

<template>
	<div></div>
</template>

<script>
import { inject } from 'vue';
export default {
	setup() {
		const msg = inject('msg');
		console.log('app.vue', msg);
		return {};
	},
};
</script>

 

강의 16분 10초에서 위 코드와 유사한 것을 시연해주셨습니다.

강의에서는 코드 작성 후 저장해 자동 새로고침 되었고, 정상적으로 inject한 값이 콘솔에 출력됐습니다.

 

저도 개발서버 기능이 제공하는 저장-자동새로고침 시에는 provide-inject한 값이 콘솔에 정상 출력됩니다.

그러나 브라우저의 새로고침 버튼을 눌러 페이지를 새로 불러오면 inject된 값이 undefined로 찍힙니다. (출력내용은 "app.vue undefined"입니다.)

분명 컴포넌트 인스턴스가 생성되기 전에도 provide한 값을 inject로 접근할 수 있다고 설명해주셨는데 그렇지 못해서 왜 그런지 궁금했습니다.

 

제 개발환경을 확인해봐야 할지, 아니면 제가 겪고있는 상황이 정상적인지 궁금합니다.

vue.js vuejs

回答 1

3

gymcoding

안녕하세요 🙂

app.mount('#app');
app.provide('msg', 'msg입니다');

위 코드 두 개의 순서를 변경해 보시겠어요?

app.provide('msg', 'msg입니다');
app.mount('#app');

이렇게요. 뷰 컴포넌트 라이프사이클을 살펴보시면 알 수 있을거에요~!
(app.mount 시점에 컴포넌트가(App.vue)생성 될 때 msg가 주입이 안되었기 때문이겠죠?)

0

wonjinYi

이상한데서 실수를 했었네요ㅠㅠ 감사합니다 설명덕분에 완전히 이해했습니다.

npm init vue@3.1.9

0

37

2

크롭 웹스토어 vue devtools 설치 관련

0

39

1

snippets 작성하는 부분 설명이 있었나요?

0

47

2

computed 의 set 함수를 통해 const 변수에 값을 담는 부분

0

52

2

소스 공유 어디서 해야하는지 궁금합니다

0

60

2

component 등록과 사용

0

57

2

강의교안

0

56

2

eslint 룰 관련 질문이 있습니다.

0

64

2

npm init -y 명령어 실행에 관한 질문

0

153

2

volar 가 마켓플레이스에 검색되지 않아 vue(official)을 설치했습니다.

0

167

2

깊은 감시자 질문

0

88

2

정리된 내용

0

153

2

화면이 왜 이렇게 뜨는걸까요?

0

184

2

왜 다르게 뜰까요..?ㅠㅠ

0

155

2

npm init vue , npm create vue@latest 명령 오류

0

289

2

강의를 듣다보니 궁금한 점 질문드립니다.

0

141

2

watch강의 질문

0

153

1

강의 듣다가 질문드립니다.

0

119

1

이벤트 처리 부분 강의 실습

0

140

2

v-pre는 설명이 없나요?

0

152

2

AppCard.vue 만들다 말고 오류가 갑자기 엄청 뜹니다

0

146

1

개발자도구 Vue 탭 관련 문의

0

240

2

강의를 인텔리제이로 수업따라가도 되져?

0

177

2

API 사용시 자동으로 import하는 기능은 어떤것을 설치해야 하나요?

3

276

2