dev/vue.js
setup 메소드와 옵션 메소드 꿀팁
dev_0hoon
2024. 5. 12. 23:40
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를 사용해 보는 것이 좋다.