728x90
반응형
- [ 영광의 시대!/2022 개발자의 품격 부트캠프 1기 ][개발자의품격][부트캠프][1기][22차시] Vue.js #11 | mixin, axios, 전역 처리2022-03-15 21:59:57mixin mixin을 import 한 컴포넌트는 mixin 자바스크립트 파일의 export default를 모두 사용할 수 있다. mixin과 컴포넌트의 동일 시점에서의 실행 순서는 mixin이 우선이다. 아래 코드를 작성하여 서버를 실행하면 콘솔 창에 [그림 1]과 같은 결과가 출력된다. mixin src 폴더에서 mixins 폴더를 생성하고 mixin 파일로서 axios.js를 생성한다. // src/mixins/axios.js export default { created() {}, mounted() { console.log('mixin에서 출력') }, unmounted() {}, methods: {} } 컴포넌트 MixinView.vue 파일에 axios.js를 import 한다. // src/..
- [ 영광의 시대!/2022 개발자의 품격 부트캠프 1기 ][개발자의품격][부트캠프][1기][21차시] Vue.js #10 | 전역 컴포넌트, 커스텀 디렉티브2022-03-15 15:56:12전역 컴포넌트 main.js에 자식 컴포넌트를 import 하고 app.component를 추가하면 전역 컴포넌트로 사용할 수 있다. 여기에서는 app.component의 첫 번째 파라미터명을 'page-title'로 작성하였는데, 원하는 이름을 쓰면 된다. // src/main.js ... import PageTitle from './components/fragments/PageTitle.vue' // createApp(App).use(store).use(router).mount('#app') // 기존 // 위 코드에 app을 붙여 아래 코드와 같이 분리한다. 이때 import한 컴포넌트를 추가한다. const app = createApp(App) app.use(store) app.use(router..
- [ 영광의 시대!/2022 개발자의 품격 부트캠프 1기 ][개발자의품격][부트캠프][1기][21차시] Vue.js #9 | 재사용 컴포넌트2022-03-14 20:19:59부모 컴포넌트에서 자식 컴포넌트로 데이터 전달 자식 컴포넌트 부모 컴포넌트로부터 데이터를 받기 위해 태그 내에 import한 자식 컴포넌트의 키인 태그와 속성을 작성한다. 속성은 data와 바인딩한다. // src/views/4_reuse/ParentView.vue 부모 컴포넌트에서 부모 컴포넌트의 데이터 값 변경 부모 컴포넌트 자식 컴포넌트에서는 props 받는 값을 직접 수정할 수 없다. 부모 컴포넌트에서만 변경할 수 있다. 버튼 "변경"을 추가한다. // src/views/4_reuse/ParentView.vue 변경 ... 변경 버튼을 클릭했을 때 태그의 속성 값 num1을 변경하고자 한다. // src/views/4_reuse/ParentView.vue ...
- [ 영광의 시대!/2022 개발자의 품격 부트캠프 1기 ][개발자의품격][부트캠프][1기][20차시][21차시] Vue.js #8 | Lifecycle Hooks2022-03-11 17:46:55Lifecycle Hooks 순서에 따라 뷰가 자동으로 함수들을 호출한다. 어느 시점에 어떤 데이터를 조회할 것인지 설계하느냐에 따라 체감 성능이 달라질 수 있다. setup(composition api) composition api는 Vue.js 3.0에서 밀고 있지만 아직까지는 실무에서 쓰지 않는 기능이다. data와 method를 각각 선언하는 option api 방식을 Vue.js 2.0까지 사용해 왔다. composition api는 새로운 방법으로 option api와 같은 기능을 구현한다. composition api는 각각 따로 존재하는 data와 method를 setup 안에서 관리하여 코드의 가독성을 높이고자 한다. 하지만 실무에서는 data와 method를 명확하기 구분하는 것이 익숙..
- [ 영광의 시대!/2022 개발자의 품격 부트캠프 1기 ][개발자의품격][부트캠프][1기][19차시] Vue.js #6 | 재사용 컴퍼넌트에 부트스트랩 적용2022-03-07 22:59:51부트스트랩 설치 터미널에서 프로젝트 폴더로 이동후 2, 3번 설치 npm install bootstrap npm install @popperjs/core main.js 파일에 5, 6번 import import 'bootstrap/dist/css/bootstrap.min.css' import 'bootstrap/dist/js/bootstrap.js' ※ 외부 라이브러리는 main.js에 import 해야 사용할 수 있다. 부모 component 조회 자식 component {{ th.title }} {{ item[th.key] }} 프로젝트를 거듭 진행하면서 component가 자산으로 축적된다. component를 많이 가지고 있으면 신규 프로젝트 시 개발 생산성을 극대화할 수 있다.
- [ 영광의 시대!/2022 개발자의 품격 부트캠프 1기 ][개발자의품격][부트캠프][1기][19차시] Vue.js #4 | extra2022-03-07 16:11:10extra v-if HTML DOM 요소를 보이기/숨기기 위해 실무에서는 v-if 문법을 주로 사용한다. 사용자의 권한에 따라 부여하는 기능을 달리할 때 사용할 수 있다. if 문은 순차적으로 비교하므로 "일반 사용자 > 매니저 > 관리자" 순으로 사용자가 많으므로 이를 감안하여 순서를 설계하는 것이 유리하다. 조회 생성 조회 생성 조회 삭제 v-show v-if는 [그림 2]와 같이 HTML DOM 요소를 생성/삭제한다. DOM 트리를 리페인팅하기 때문에 리소스를 많이 사용한다. 반면 v-show는 [그림 3]과 같이 style에서 보이기/감추기 처리를 한다. 개발자는 사용자의 UX를 항상 고려해야 한다. 이러한 태도는 코드를 개선하는 것보다 더 중요하다. 인공지능 블록체인 사물인터넷 기타 comput..
- [ 영광의 시대!/2022 개발자의 품격 부트캠프 1기 ][개발자의품격][부트캠프][1기][19차시] Vue.js #3 | event2022-03-07 08:43:19event click Add 1 {{ counter }} change change 이벤트를 가장 많이 사용하는 경우는 selectbox에서 이다. 서울 부산 제주 {{ dong.title }} ※ 데이터 건수가 많지 않을 때는 한 번에 다 가져오는 것이 유리하다. 따라서 실무에서는 change 이벤트 대신 filter 함수를 이용한다. {{ city.cityTitle }} {{ dong.dongTitle }} key 조회
- [ 영광의 시대!/2022 개발자의 품격 부트캠프 1기 ][개발자의품격][부트캠프][1기][18차시] Vue.js #2 | 데이터바인딩2022-03-05 18:14:27데이터 바인딩 문자열 문자열 바인딩은 단방향 데이터 바인딩이다. // src/views/DataBindingHtmlView.vue {{ htmlString }} // {{}}는 문자열을 바인딩한다. // v-html 디렉티브(Directive)를 사용하면 태그로 바인딩한다. input v-model을 이용하여 사용자의 입력 값, 자바스크립트 함숫값의 양방향 데이터 바인딩이 가능하다. Vue의 막강한 기능이다. 클릭 변경 input 태그에서의 v-model은 value 속성과 양방향으로 연결되어 있다. [그림 3]은 아래 코드의 실행 결과이다. 아래 코드에서 v-model.trim과 text, number 타입의 용법을 유의해서 보자! 클릭 변경 + = {{ num1 + num2 }} + = {{ num3..
728x90
반응형