고리타분한 개발자
[Vue JS] Vue Event Listeners 본문
안녕하세요. 지난시간에는 addEventListener 를 사용하여 버튼에 이벤트를 주었는데요, 이번 포스트에서는 v-on directive event listeners를 사용 해보려고 합니다. v-on은 vue에서 기본으로 제공하는 directive입니다. 사용법은 v-on:option 이런식으로 v-on뒤에 :option을 붙여주면 됩니다. 저희는 버튼을 클릭해서 리스트를 추가하는 이벤트를 만들려고 하니, v-on:click이런식으로 사용하면 되겠죠?
코드를 통해 확인 하겠습니다.
일단 전체 코드는 이러합니다.
division 으로 감싸져 있는 부분부터 지난번 코드와 비교해 보면,
이랬던 코드 input 부분에 newName이라는 model을 추가시켜 주었습니다. 그리고 버튼 클릭 부분은 더이상 id 값으로 연결 되지않고 v-on directive로 이벤트를 주었습니다.
이번엔 Vue 코드 부분을 살펴볼까요?
이전에는 addEventListner를 사용하여 click 이벤트를 mounted 시켰지만 v-on:click에 addName이라는 함수를 연결하여 push 이벤트를 줌으로써 코드를 더욱 간결하게 만들수 있게 되었습니다.
이번에도 역시 Vue Devtools로 확인해보면
이번에는 data: {} 부분에 추가하였던 newName이라는 empty string이 잘 표시되는걸 확인 할 수 있습니다.
하지만, 여기서 우리는 문제점을 확인 할 수 있습니다. 눈치가 빠르시거나, 코드를 이미 실행시켜 보신분들은 알 수 있을탠데요.
'Jang' 이라는 이름을 적고 'Add Name'을 클릭하였는데 'Jang'이 없어지지 않고 계속 남아있는 문제가 발생하게 되었습니다. 이 문제는 코드 한줄이면 해결할 수 있는데요
바로 이렇게 newName을 다시 empty string으로 만들어 주면 됩니다.
확인해보면 이전과 달리 newName에 'Jang'이 남지않고 empty string으로 변화 한것을 확인할 수 있습니다.
P.S. 'v-on:'은 @로 변경할 수 있습니다. 예를들어 v-on:click을 @click으로 변경 시킬수 있습니다.
'Vue JS > Step By Step' 카테고리의 다른 글
[Vue JS] The Need for Computed Properties (0) | 2017.12.04 |
---|---|
[Vue JS] Attribute and Class Binding (0) | 2017.12.04 |
[Vue JS] Lists (0) | 2017.11.30 |
[Vue JS] Vue Devtools (0) | 2017.11.30 |
[Vue JS] Basic Data Binding (0) | 2017.11.30 |