[Vue.js] 외부 라이브러리 사용하는 방법(+confetti effect)
·
✏️ Study/⛰️ Vue.js & Nuxt
📍Vue.js에서 외부 라이브러리 사용하기- js-confetti 라이브러리를 사용하면 색종이가 흩날리는 이펙트를 만들 수 있다- 🎉 Congratulations!
[Vue.js] tutorial - 14. Slots
·
✏️ Study/⛰️ Vue.js & Nuxt
📍Slots- 엘리먼트를 사용하여 부모 컴포넌트에서 자식 컴포넌트로 블럭을 전달할 수 있다- 자식 컴포넌트 이렇게만 해도 되고 아래는 fallback contents 전달하고 싶을 때 --> Fallback content - 부모 컴포넌트 (before) This is some slot content! - 내부의 내용은 fallback contents로 작동하여 부모 컴포넌트에서 contents를 입력하지 않았을 때 출력된다- 부모 컴포넌트 (after) Message: {{ msg }}
[Vue.js] tutorial - 13. Emits
·
✏️ Study/⛰️ Vue.js & Nuxt
📍emit()- 자식 컴포넌트는 부모 컴포넌트로부터 props를 받지만,- 부모 컴포넌트에 event를 방출할 수도 있다- emit()의 1번째 인자로 이벤트 이름을 전달- 부모 컴포넌트는 자식 컴포넌트에서 방출된 이벤트를 v-on directive를 통해서 전달받음- 이벤트 핸들러는 여러 인자를 받고 부모 컴포넌트의 로컬 상태로 할당 가능 childMsg = msg" />- 내부에서는 ref값 참조 시 .value 안 붙임에 주의 정리- props: 부모 -> 자식 데이터 전달- emit: 자식 -> 부모 데이터 전달
[Vue.js] tutorial - 12. Props
·
✏️ Study/⛰️ Vue.js & Nuxt
📍Props- 자식 컴포넌트는 props를 통해 부모 컴포넌트로부터 데이터를 받을 수 있다- 먼저 props를 선언해야 한다 - msg props는 자식 컴포넌트의 블럭에서 사용 가능- defineProps의 반환값을 통해서 JS()에서 접근도 가능- 부모 컴포넌트에서 props를 자식 컴포넌트에 전달할 때는 어트리뷰트 형태로 전달한다- 동적인 값을 전달할 때는 v-bind를 사용하여 전달한다
[Vue.js] tutorial - 11. Components
·
✏️ Study/⛰️ Vue.js & Nuxt
📍Components- 자식 컴포넌트를 만들고 부모 컴포넌트에서 import해서 사용할 수 있다- 자식 컴포넌트 A Child Component! - 부모 컴포넌트
[Vue.js] tutorial - 10. Watchers
·
✏️ Study/⛰️ Vue.js & Nuxt
📍watch- watchers를 사용하면 사이드 이펙트를 반응적으로 수행할 수 있다- 예) 특정 값이 바뀌면 콘솔에 숫자 출력하기import { ref, watch } from 'vue'const count = ref(0)watch(count, (newCount) => { // yes, console.log() is a side effect console.log(`new count is: ${newCount}`)})- 위 예시에서 count의 값이 바뀌면 콜백 함수가 실행된다- ref 말고도 다른 타입의 데이터를 watch가 감지하게 할 수 있다- 예시 Todo id: {{ todoId }} Fetch next todo Loading... {{ todoData }}
[Vue.js] tutorial - 9. Lifecycle and Template Refs
·
✏️ Study/⛰️ Vue.js & Nuxt
📍Template Refs- 블럭 내부의 특정 엘리먼트를 참조해야 할 때 사용hello- ref에 접근하기 위해 먼저 ref를 어트리뷰트 값과 매칭되는 이름으로 선언해야 한다const pElementRef = ref(null)- ref는 null 초기값을 갖는다- 엘리먼트가 이 실행되기 전까지 아직 존재하지 않기 때문이다- ref는 컴포넌트가 마운트되고 나서부터 접근 가능하다📍Lifecycle Hook: onMounted()- 마운트 이후에 코드를 실행한다import { onMounted } from 'vue'onMounted(() => { // component is now mounted.})- Lifecycle hook: 컴포넌트 라이프사이클의 특정 순간에 호출되는 콜백 함수를 인자로 전달- ..
[Vue.js] tutorial - 8. Computed Property
·
✏️ Study/⛰️ Vue.js & Nuxt
📍computed()- 다른 반응형 상태(ref)에 기반한 새로운 반응형 상태를 만듬const filteredTodos = computed(() => { return hideCompleted.value // ref ? todos.value.filter((t) => !t.done) // ref : todos.value})- computed property를 만드는데 사용된 반응형 상태가 변경되면 computed property도 자동으로 업데이트됨- 전체 코드 Add Todo {{ todo.text }} X {{ hideCompleted ? 'Show all' : 'Hide completed' }}