欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue.js绑定事件监听器示例【基于v-on事件绑定】

程序员文章站 2022-06-24 08:38:07
本文实例讲述了vue.js绑定事件监听器。分享给大家供大家参考,具体如下:

本文实例讲述了vue.js绑定事件监听器。分享给大家供大家参考,具体如下:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport"
     content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>www.jb51.net 绑定事件监听器</title>
  <!-- vue.js -->
  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>
</head>
<body>
<div id="app">
  <p v-if="show">这是一段文本</p>
  <buttton v-on:click="handleclose">点击隐藏</buttton>
</div>
</body>
</html>
<script>
  //当数据show的值为true时,p元素会被插入,为false时会被移除
  var mydata = {
    show:true
  };
  var app = new vue({
    el:'#app',
    data:mydata,
    //在普通元素上,v-on可以监听原生的dom事件,除了click外,还有dbclick、keyup、mousemove等。表达式可以是一个方法名,这些方法都写在vue实例的methods属性内,并且是函数的形式,函数内的this指向的是当前vue实例本身,因此可以直接使用this.xxx的形式来访问或者修改数据,如实例中的this.show = false;把数据show修改为了false,所以点击按钮时,文本p元素就被移除了
    methods:{
      handleclose:function () {
//        this.show = false
        //在handleclose方法内,直接通过close()调用了close函数。在示例中是多此一举的,只是用于演示它的用法
        this.close()
      },
      close:function () {
        this.show = false
      }
    }
  })
</script>

使用本站html/css/js在线运行测试工具http://tools.jb51.net/code/htmljsrun,可得到如下测试运行效果:

vue.js绑定事件监听器示例【基于v-on事件绑定】

再来看一个例子:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>vue</title>
    <script src="https://cdn.bootcss.com/vue/2.5.16/vue.min.js"></script>
  </head>
  <body>
    <div id="test">{{msg}}
      <p v-for="val in arr">
        {{val.a}}
      </p>
      <a href="javascript:void(0)" rel="external nofollow" v-on:click="tap">点我</a>
    </div>
  </body>
</html>
<script>
  // window.onload= function(){
    var app2 = new vue ({
      el:"#test",
      data:{
        msg:'润元装饰',
        msg1:"家装"+new date(),
        msg2:'lianxi',
        show:true,
        arr:[
          {a:'bb'},
          {a:'cc'}
        ]
      },
      methods:{
        tap : function(){
          this.arr.unshift({a:'new'})
        }
      }
    })
  // }
</script>

该示例可响应鼠标点击自动增加元素,感兴趣的朋友可以使用html/css/js在线运行测试工具http://tools.jb51.net/code/htmljsrun测试一下效果。

希望本文所述对大家vue.js程序设计有所帮助。