vue的事件绑定与方法详解


Posted in Javascript onAugust 16, 2017

一、在vue中,绑定事件,用v-on:事件类型, 如绑定一个点击事件, 我们可以这样子做

window.onload = function () {
     var c = new Vue({
       el : 'body',
       methods : {
        say : function(){
          alert( '欢迎学习vue' );
        }
       }
     });
    }

<input type="button" value="点我" v-on:click="say();"/>

添加方法,需要在vue实例的对象参数中,添加一项methods配置, methods是字面量方式,如上例,我们添加了一个say方法, 在按钮中绑定了一个点击事件,当事件触发的时候,执行say();

二、绑定双击事件,通过在methods方法中定义的函数,操作data中的数据

window.onload = function () {
     var c = new Vue({
       el : 'body',
       data : {
         arr : [ 10, 20, 30 ]
       },
       methods : {
        change : function(){
          this.arr.push( 40 );
        }
       }
     });
    }

    <input type="button" value="点我" v-on:dblclick="change();"/>
    <ul id="box">
      <li v-for="value in arr">{{value}}</li>
    </ul>

上述例子,通过在按钮中绑定双击事件,当事件触发时,调用change方法, 通过this.arr 访问data中定义的数组arr, 向arr中push值40,那么data中的arr数据就被修改了,基于vue是MVVM驱动方式, 那么arr的修改 就会 实时更新到视图中.结果就是在ul下面新增一项li,值为40

三、指令:v-show,值为false/true.  当为false时,该元素隐藏,当为true时,该元素显示.

<style>
    div {
      width: 200px;
      height: 200px;
      background: red;
      float:left;
      margin:20px;
    }
  </style>
  <script src="../js/vue.js"></script>
  <script>
    window.onload = function () {
     var c = new Vue({
       el : 'body',
       
     });
    }
  </script>

 <div v-show="true"></div>
 <div v-show="true"></div>
 <div v-show="false"></div>

输出结果:

<div></div>
<div></div>
<div style="display: none;"></div>

四、点击按钮,实现div显示与隐藏

<style>
    div {
      width: 200px;
      height: 200px;
      background: red;
    }
  </style>
  <script src="../js/vue.js"></script>
  <script>
    window.onload = function () {
      var c = new Vue({
        el: 'body',
        data: {
          flag: false
        },
        methods : {
          toggle : function(){
            this.flag = !this.flag;
          }
        }
      });
    }

<input type="button" value="点我" v-on:click="toggle();"/>
<div v-show="flag"></div>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ajaxControlToolkit AutoCompleteExtender的用法
Oct 30 Javascript
避免 showModalDialog 弹出新窗体的原因分析
May 31 Javascript
jQuery技巧总结
Jan 01 Javascript
图片动画横条广告带上下滚动的JS代码
Oct 25 Javascript
Javascript实现的简单右键菜单类
Sep 23 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
May 05 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 Javascript
解决Extjs下拉框不显示的问题
Jun 21 Javascript
原生js实现密码输入框值的显示隐藏
Jul 17 Javascript
以v-model与promise两种方式实现vue弹窗组件
May 21 Javascript
JS访问对象两种方式区别解析
Aug 29 Javascript
nuxt 每个页面head标签内容设置方式
Nov 05 Javascript
vue父组件通过props如何向子组件传递方法详解
Aug 16 #Javascript
关于vue.extend和vue.component的区别浅析
Aug 16 #Javascript
在一般处理程序(ashx)中弹出js提示语
Aug 16 #Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 #jQuery
详谈表单重复提交的三种情况及解决方法
Aug 16 #Javascript
详谈js对url进行编码和解码(三种方式的区别)
Aug 16 #Javascript
Node.js 的模块知识汇总
Aug 16 #Javascript
You might like
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
使用php清除bom示例
2014/03/03 PHP
smarty内部日期函数html_select_date()用法实例分析
2015/07/08 PHP
全面解读PHP的Yii框架中的日志功能
2016/03/17 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
35个Python编程小技巧
2014/04/01 Python
Django集成百度富文本编辑器uEditor攻略
2014/07/04 Python
Python实现的石头剪子布代码分享
2014/08/22 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
python实现最大优先队列
2019/08/29 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
中国梦的演讲稿
2014/01/08 职场文书
林肯就职演讲稿
2014/05/19 职场文书
售后客服个人自我评价
2014/09/14 职场文书
建议书格式
2015/02/04 职场文书
入团介绍人意见范文
2015/06/04 职场文书
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python