在 Javascript 中会用 onclick, onchange...等方式监听 DOM 物件,而 Vue 则是在 HTML 的标签里面加上 v-on 就可以做事件绑定,马上来练习该怎麽使用吧。
同样的,先写一段 JS 范例,下面不再重复撰写
const vm = Vue.createApp({
data () {
return {
num: 0,
text: '',
}
},
methods: {
addOne () {
this.num++;
},
changeNum(n) {
this.num = n;
}
}
}).mount('#app');
Vue 的事件绑定写法是在 HTML 标签里面加上 v-on:使用者行为="执行程序"
,可以直接写程序码,或是呼叫函式;除此之外,v-on:
也能简写成一个 @
,非常简洁方便:
直接在标签内执行程序码。
<p>一共点了 {{ num }} 下</p>
<button v-on:click="num++"></button>
呼叫函式。
<p>一共点了 {{ num }} 下</p>
<button v-on:click="addOne"></button>
简写方式
<p>一共点了 {{ num }} 下</p>
<button @click="addOne"></button>
在处理事件时,时常会用到 preventDefault, stopPropagation...等等方法,Vue 提供了修饰子快速达成需要的功能。
<div @click="changeNum(1)">
<p>num: {{ num }} </p>
<div @click.stop="changeNum(2)">show 2</div>
</div>
<a href="#" @click.prevent="text='prevent'">Prevent</a>
<p>{{text}}</p>
<div @click.capture="changeNum(1)">
<div @click="changeNum(2)">
<div @click="changeNum(3)">clickMe!</div>
</div>
</div>
<p>{{num}}</p>
<!-- alt + C -->
<imput @keyup.alt.67="clear">
.exact
,这样只有在按下一样的按键(或组合)的时候才会触发。滑鼠相对简单多
<<: JS 22 - 探险时间!深入查询物件的所有子属性!
>>: Docker云端:WebDAV+NextCloud完整云端储存环境
ELB (Elastic Load Balancer) ELB 是一个托管的 load balanc...
左看右看上看下看,到处都在说 Jetpack 最近阅读蛮多 WordPress 相关的教学文,大多数...
前言 稍微想了一下,我的系列文重点应该会摆在强调使用前端框架的好处及重要性, 前期会建立概念:为何要...
连续 30 天不中断每天上传一支教学影片,教你如何用 React 加上 Firebase 打造社群...
档案上传与一般表单提交的格式不同。 一般表单提交默认enctype = "applicat...