티스토리 뷰

    setup(){
      const todoItems = ref([]);

      //methods
      //외부에 영향을 주지 않고 독립적인 일을 해야한다. 
      //그러므로 바로 todoItems에 넣지않고 독립적인 array를 반환한다.
      function fetchTodos(){ 
        const result = [];
        for(let i = 0; i < localStorage.length; i++){
           const todoItem = localStorage.key(i);
           result.push(todoItem);
        }
        return result;
      }
      todoItems.value = fetchTodos();

      function addTodoItem(todo){
        todoItems.value.push(todo);
        localStorage.setItem(todo,todo);
      }

      return {todoItems,addTodoItem};
    },
    methods :{
      removeTodoItem(item,index){
        this.todoItems.splice(index,1);
        localStorage.removeItem(item);
      }
    },

setup을 사용한다고 해도 사실 methods를 사용할 수 있다. 여기에서 function을 치지 않아도 되서 훨씬 깔끔하다.. 그리고 ref로 정의한 setup의 data도 this로 접근이 가능하다는 사실..! 그래서 더 편하게 작성할 수도 있는 부분이 된다.

 

어느정도 methods 옵션을 사용하다가 너무 복잡해 질 경우 setup을 이용해 컴포지션 api를 사용해 보는 것이 좋다.

 

 

'dev > vue.js' 카테고리의 다른 글

ES6 - 속성명 축약 특징 설명  (0) 2025.01.10
컴포지션 코드 재사용성 극대화  (0) 2024.05.12
vue2의 emit은 vue3에서는 어떻게 쓸까?  (0) 2024.05.12
vue3 ref 접근  (0) 2024.05.12
vue3 setup() 이용  (0) 2024.05.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함