Vue 框架-02-事件:点击, 双击事件,鼠标移上事件

时间:2023-03-10 04:34:20
Vue 框架-02-事件:点击, 双击事件,鼠标移上事件

Vue 框架-02-事件:点击, 双击事件,鼠标移上事件

1.单击事件:v-on:click

Vue 框架-02-事件:点击, 双击事件,鼠标移上事件

源码 app2.js :

//实例化 vue 对象
new Vue({
//注意代码格式 //el:element 需要获取的元素,一定是 html 中的根容器元素
el:"#vue-app",
data:{
name:"肖朋伟",
age:18 },
//存储自己的方法
methods:{
reduce: function(){
this.age--;
}
}
});

源码 html :

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>事件</title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="vue-app"> <!--name 具体的值是在 js 中定义的-->
<h2>我今年 {{age}} 岁了!</h2>
<br />
方法一:直接在页面上进行自增<hr />
<button v-on:click="age++">加一岁</button>
<br /><br />
方法二:在 js 中实现减一岁
<br /><hr />
<button v-on:click="reduce">减一岁</button> </div> <!--引入自己的 js,注意必须写在 body 标签里最后,因为必须先加载你的整个 HTML DOM,才回去执行 vue 实例-->
<script type="text/javascript" src="js/app2.js" ></script>
</body>
</html>

2.双击事件:v-on:dblclick

双击事件:只有双击的时候,在 js 中实现减一岁
<br /><hr /> <button v-on:dblclick="reduce">双击减一岁</button>

3.传递参数

app2.js:

//实例化 vue 对象
new Vue({
//注意代码格式 //el:element 需要获取的元素,一定是 html 中的根容器元素
el:"#vue-app",
data:{
name:"肖朋伟",
age:18 },
//存储自己的方法
methods:{
reduce: function(){
this.age--;
},
reduce2: function(year){
this.age = this.age-year;
}, }
});

html :

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>事件</title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="vue-app"> <!--name 具体的值是在 js 中定义的-->
<h2>我今年 {{age}} 岁了!</h2>
<br />
方法一:直接在页面上进行自增<hr />
<button v-on:click="age++">加一岁</button>
<br /><br />
方法二:在 js 中实现减一岁
<br /><hr />
<button v-on:click="reduce">减一岁</button>
<br /><br />
双击事件:只有双击的时候,在 js 中实现减一岁
<br /><hr /> <button v-on:dblclick="reduce">双击减一岁</button>
<button v-on:click="reduce2(10)">减10岁</button>
<br /> </div> <!--引入自己的 js,注意必须写在 body 标签里最后,因为必须先加载你的整个 HTML DOM,才回去执行 vue 实例-->
<script type="text/javascript" src="js/app2.js" ></script>
</body>
</html>

4.鼠标移上事件:显示鼠标位置

Vue 框架-02-事件:点击, 双击事件,鼠标移上事件

app2.js :

//实例化 vue 对象
new Vue({
//注意代码格式 //el:element 需要获取的元素,一定是 html 中的根容器元素
el:"#vue-app",
data:{
x:0,
y:0, },
//存储自己的方法
methods:{
showXY:function(event){
this.x = event.offsetX;
this.y = event.offsetY; }
}
});

html :

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>事件</title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="vue-app">
<br /> 鼠标移上事件
<hr />
<div id="canvas" v-on:mousemove="showXY" style="border: 1px solid #eeaaaa;height: 200px;width: 300px;text-align: center;">
当前鼠标位置(相对该div左上角):<br> x:{{x}},y:{{y}}
</div> </div> <!--引入自己的 js,注意必须写在 body 标签里最后,因为必须先加载你的整个 HTML DOM,才回去执行 vue 实例-->
<script type="text/javascript" src="js/app2.js" ></script>
</body>
</html>

提示:

html 中的

v-on:

可以直接用一个 @ 代替,例如:

<button @click="reduce">减一岁</button>