:
가 반드시 뒤에 붙는다.<img v-bind:src="urlLink"/>
<section id="events">
<h2>Events in Action</h2>
<button v-on:click="add">Add</button>
<button v-on:click="reduce">Reduce</button>
<p>Result: {{ counter }}</p>
</section>
const app = Vue.createApp({
data() {
return {
counter: 0,
};
},
methods:{
add(){
this.counter++
},
reduce(){
this.counter--
}
}
});
app.mount('#events');
<p v-once>init value : {{ counter }}</p>
브라우저에서는 기본적으로 아주 정보를 많이 함유하고 있는 Obj를 하나 준다. 바로 event 객체이다.
이 event 객체는 앞서 설명한 다양한 이벤트가 발생시 브라우저에서 생성하는 객체이다.
그리고 developer tool 가보면 해당 이벤트가 발생했을 때 해당 요소반 번쩍이는 것을 확인할 수 있는데 이는 이벤트로 해당 요소만 렌더링 된다는 뜻이다.
만약 변수를 여러개 지정하고 기본 내장 event 객체도 사용하고 싶다면 다음과 같이 설정해주면 된다.
단, 메서드를 pointing하지 않고 바로 실행할 때만 사용 가능하다.
<section id="events">
<h2>Events in Action</h2>
<button v-on:click="add">Add</button>
<button v-on:click="reduce">Reduce</button>
<p>Result: {{ counter }}</p>
<input type="text" v-on:input="setName($event, '강')">
<p>Ur name is : {{ name }}</p>
</section>
...
setName(event, lastName){
this.name = event.target.value + " " + lastName
}
...
<form v-on:submit="submitForm">
<input type="text" name="" id="">
<button>Submit</button>
</form>
...
submitForm(event){
event.preventDefault();
}
...
<form v-on:submit.prevent="submitForm">
<input type="text" name="" id="">
<button>Submit</button>
</form>
event.preventDefault()
는 없애도 된다.