[todo] 1. 프로젝트 구현

김희주·2023년 1월 14일
0

vue.js

목록 보기
4/13
post-thumbnail

1. vetur & tsLint


vetur 설치

2. 폴더 만들기

이건
이 강의 보면서...
webpack 만드는게 나을거같아서 강의처럼 만들기

3. 컴포넌트 생성 및 등록하기

3-1. src 탭에서 components 폴더 만들기

+++ TodoHeader.vue 만들기

3-2. App.vue에 컴포넌트들 등록

  • 일단 이렇게 만든다음에
  • 컴포넌트들 등록
<template>
  <div id="app">
    <TodoHeader></TodoHeader>
    <TodoInput></TodoInput>
    <TodoList></TodoList>
    <TodoFooter></TodoFooter>
  </div>
</template>

<script>
import TodoHeader from './components/TodoHeader.vue';
import TodoInput from './components/TodoInput.vue';
import TodoList from './components/TodoList.vue';
import TodoFooter from './components/TodoFooter.vue';

export default {
  components: {
    'TodoHeader': TodoHeader,
    'TodoInput': TodoInput,
    'TodoList': TodoList,
    'TodoFooter': TodoFooter,
  }

}
</script>

4. 파비콘, 아이콘, 폰트, 반응형 태그 설정하기

  • index.html
  <head>
    <meta charset="utf-8">
    <title>vue-todo</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="shortcut icon" href="src/assets/favicon.ico" type="image/x-icon">
    <link rel="icon" href="src/assets/favicon.ico" type="image/x-icon">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
    <link href="http://fonts.googleapis.com/css?family=Ubuntu" rel="stylesheet">
  </head>

5. todo 등록 구현

<template>
    <div class="inputBox shadow">
    <input type="text" v-model="newTodoItem" v-on:keyup.enter="addTodo">
    <!-- <button v-on:click="addTodo">등록</button> -->
    <span class="addContainer" v-on:click="addTodo">
        <i class="fas fa-solid fa-plus addBtn"></i>
    </span>
    </div>
</template>

<script>
export default {

    data : function() {
        return {
            newTodoItem : ""
        }
    },
    methods: {
        addTodo : function() {
            localStorage.setItem(this.newTodoItem,this.newTodoItem);
            this.newTodoItem = '';
            //clearInput();           으로 하면 안됨!!
            this.clearInput();
        },
        clearInput : function() {
            this.newTodoItem='';
        }
    }

}
</script>

<style scoped>
 input :focus {
    outline: none;
} 
.inputBox {
	background:white;
	height: 50px;
	line-height: 50px;
	border-radius:5px;
}
.inputBox input{
	border-style: none;
	font-size: 0.9rem;
}
.addContainer {
	float: right;
	background: linear-gradient(to right, #6478FB, #8763FB);
	display: block;
	width: 3rem;
	border-radius: 0 5px 5px 0;
}
.addBtn {
	color: white;
	vertical-align: middle;
}
</style>
profile
백엔드 개발자입니다 ☘

0개의 댓글

관련 채용 정보