inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Vue.js 시작하기 - Age of Vue.js

컴포넌트 소개

컴포넌트 질문이 있습니다 ㅎㅎ

221

pwdks

작성한 질문수 6

1

안녕하세요.

현재 어느정도 진행이 되어진 파이썬 + 장고 프로젝트에적용하려 합니다. 

장고 프레임워크라서 .vue 파일을 이용한 순수 뷰 프로젝트 구조를 사용을 못하고 있습니다. (혹은 방법을 아직 모르겠네요) 그래서 현재 .js 파일로 vue를 작성 중에 있는데요. 

기존 완성된 하나의 웹 페이지인 HTML 파일에 html 코드로 작성된 header, body, footer들을 vue 컴포넌트 별로 분류를 하려 합니다.

그래서 최상위(?) 뷰 인스턴스 하나에 components 들을 각각 app-header, app-content, app-footer 들로 등록을 해주려는데요.

.js 파일에 각 component를 선언한 객체에 template에다가 그 긴 HTML 코드들을 javscript 언어로 작성해서 제어해 주는 방법 밖에 없을까요~? 

 

ex) 

let appHeader = {

 template: '<div id="header">header</div>',

 props: ['propsdata']

};

 

let appFooter = {

 template: '<div id="footer">footer</div>'

 props: ['propsdata']

};

 

let app = new Vue({

 el: '#app',

 components: {

   'app-header': appHeader,

   'app-footer': appFooter

 }

});

위 예시에 appHeader, appFooter 의 template 는 짧지만 현재 제 프로젝트에는

HTML 코드로 작성된 header와 footer 는 이미 수 많은

element 들로 작성된 코드가 있는데요.  그걸 .js 파일안에 있는 appHeader, appFooter 객체에 있는 template 에다가 javascript 코드로 적는 방법 밖에 없는지 해서요.. 

혹시나 다른 방법이 없을까요!? 

 

 

 

 

vuejs javascript

답변 2

1

pwdks

휴가 때문에 이제서야 확인했네요 ㅎㅎ

답변 감사드려요 ^^

1

캡틴판교

안녕하세요 세진님,

질문에 구체적인 상황과 설명 곁들여 주셔서 감사합니다. 말씀하신 구조에서는 `template` 속성에 ES6의 템플릿 리터럴을 활용하는게 최선일 것 같아요. 아니면 x-template 이라는 속성이 있긴 한데 공식 문서에서도 추천하는 방법은 아닙니다. 저라면 일단 프런트를 어떻게 해서든 분리하고 백엔드는 REST API만 제공해주는 방식으로 갈 것 같은데.. 일단 현재 구조에서 더 고민을 해보시면 좋을 것 같네요! 마지막으로 ES6 템플릿 리터럴을 쓰시게 되면 IE 지원 하실 때 꼭 바벨을 돌려주셔야 애플리케이션이 깨지지 않습니다. 그럼 즐거운 주말 보내세요 :)

개발자 툴에서 Vue가 표시되지 않는 현상.

0

93

2

chrome 확장 devtools 버전 문제

0

81

1

Vue.js not detected가 자꾸 뜹니다

0

82

2

마지막 강의가 안되요

0

55

1

data, computed, watch > Reactivity

0

50

1

f12누르고 개발자도구에 vue 탭이 안생겨요

0

89

1

vue composition api

0

72

1

강의 자료 다운이 될까요?

0

127

1

개발자 도구에서 뷰탭이 안보여요....

0

583

3

프롭스 데이터 질문입니다.

0

112

1

component.html:11 Uncaught ReferenceError: Vue is not defined at component.html:11:20 (anonymous) @ component.html:11

0

139

1

화면이 안떠요,, 이전 이후 강의는 뜨는데..

0

235

6

크롬 확장 프로그램 vue devtools 설치했는데

0

531

2

코드를 수정하고 브라우저의 Vue로 넘어가면 다운이 됩니다.

0

242

1

버튼을 클릭해도 event가 발생하지 않습니다.

0

309

1

vue3 css 경로 표시 문의

1

230

2

개발자도구 vue탭

0

354

1

화면 코드 보기

1

225

2

App.vue 내용 변경했는데 창이 연결할수없대요ㅜㅜ

1

382

2

html/css/js로 작성된 코드를 vue.js로 일부 전환하고자 이 강의를 듣기 시작했습니다.

1

885

2

{{ num }} 이 <app-content> 아래에 들어가 있을때에는 노출이 안됩니다...

1

287

2

뷰 개발자도구 이벤트 타임라인 어느 부분에서 확인가능한건가요

1

400

2

다음 단계 강의는...?

1

386

2

버튼을 눌러도 data의 값이 변경되지 않습니다

1

276

2