타입스크립트 강의 듣기
1. vue 에서 v-model은 한국어가 바로 반영이 안된다.
한국어를 바로 바인딩하려면 @input이벤트에 메소드를 걸어주고
:value로 값을 연결해서 메소드에서 값을 바꾸는 방법을 쓰면 된다.
2. ts에서 input타입 정의
handleInput(event: InputEvent) {
const eventTarget = event.target as HTMLInputElement;
this.$emit("input", eventTarget.value);
console.log(eventTarget);
3. 메소드 파라미터 타입 정의
//App.vue
<template>
<div>
<h1>Vue Todo with Typescript</h1>
<TodoInput :item="todoText" @input="updatTodoText" @add="addTodoItem" />
</div>
</template>
<script lang="ts">
import Vue from "vue";
import TodoInput from "./components/TodoInput.vue";
export default Vue.extend({
components: {
TodoInput,
},
data() {
return {
todoText: "",
};
},
methods: {
updatTodoText(value: string) {
this.todoText = value;
},
addTodoItem() {
const value = this.todoText;
localStorage.setItem(value, value);
this.initTodoText();
},
initTodoText() {
this.todoText = "";
},
},
});
</script>
728x90
'TIL' 카테고리의 다른 글
[TIL] 20211102 vue 한글 바인딩/ computed/ watch / 이미지 에러 핸들링 (0) | 2021.11.02 |
---|---|
[TIL] 20211101 vue persistedstate/ lodash debounce 등 (0) | 2021.11.01 |
[항해 99 2기 후기] 항해99 를 하면 진짜 99일만에 개발자가 될까? (43) | 2021.11.01 |
[TIL] 20211028 이벤트 버블링/ pagination/ axios / vuex store (0) | 2021.10.31 |
[TIL] 20211027 템플릿 제작 (0) | 2021.10.31 |