事件

事件绑定

在vue中,事件绑定用v-on。v-on也可以用@click=""形式

实例1:

        <div class="container"  id="box">
            <button class="btn btn-primary" v-on:click="counter+=1">增加1</button>
            <p>这个按钮被点击了{{counter}}次</p>
        </div>
    <script type="text/javascript">
        new Vue({
            el:"#box",
            data:{
                counter:0
            }
        })
    </script>

实例2:

<button class="btn bg-info" @click="msg('小明')">按钮</button>
new Vue({
    el:"#box",
    data:{
        counter:0
    },
    methods:{
        msg:function(message){
            alert(message)
        }
    }
})   

事件对象

$event

<button class="btn bg-info" @click="msg($event)">按钮</button>
methods:{
    msg:function(event){
        alert(event.clientX)
    }
}    

阻止事件冒泡

  • 设置ev.cancelBubble=true;如下实例:
        <div class="container"  id="box">
            <div @click="show1()">
                <input type="button" value="按钮" @click="show2($event)" />
            </div>
        </div>
        new Vue({
            el:"#box",
            data:{
                counter:0
            },
            methods:{
                show2:function(ev){
                    alert(2);
                    ev.cancelBubble=true; //阻止事件冒泡
                },
                show1:function(){
                    alert(1)
                }
            }
        })
  • .stop方法(跟在事件后面),如下实例:
            <div @click="show1()">
                <input type="button" value="按钮" @click.stop="show2()" />
            </div>
            methods:{
                show2:function(){
                    alert(2);
                },
                show1:function(){
                    alert(1)
                }
            }

 阻止默认事件

  • ev.preventDefault();
<a href="https://www.baidu.com/" @click="show2($event)">跳转到百度</a>
methods:{
    show2:function(ev){
        alert(2);
        ev.preventDefault();
    }
}
  • prevent
<a href="https://www.baidu.com/" @click.prevent="show2()">跳转到百度</a>
methods:{
    show2:function(){
        alert(2);
    }
}

 键盘事件

  • ev.keyCode
<input type="text" @keydown="show($event)" />
methods:{
    show:function(ev){
        alert(ev.keyCode);
    }
}
  • 键值修饰符

在监听键盘事件时,我们经常需要监测常见的键值。 Vue 允许为 v-on 在监听键盘事件时添加关键修饰符:

<input @keyup.13="submit">

记住所有的 keyCode 比较困难,所以 Vue 为最常用的按键提供了别名:

<input v-on:keyup.enter="submit">

<!-- 缩写语法 -->
<input @keyup.enter="submit">

全部的按键别名:

  • .enter
  • .tab
  • .delete (捕获 “删除” 和 “退格” 键)
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

属性

在vue中,绑定属性用v-bind。简写:src

<img v-bind:src="url" alt=""/>

<!--简写形式-->
<img :src="url" alt=""/>

 class/style

class的用法跟style的用法是一样的,所以下面只讲解class

  • 对象语法

我们可以传给 v-bind:class 一个对象,以动态地切换 class 。

<div v-bind:class="{ active: isActive }"></div>

上面的语法表示 classactive 的更新将取决于数据属性 isActive 是否为真值 。

  • 数组语法

我们可以把一个数组传给 v-bind:class ,以应用一个 class 列表:

<div v-bind:class="[activeClass, errorClass]">
data: {
  activeClass: 'active',
  errorClass: 'text-danger'
}

当有多个条件 class 时可以在数组语法中使用对象语法

<div v-bind:class="[{ active: isActive }, errorClass]">

模板

  • {{msg}}数据更新,模板变化
  • {{*msg}}数据只绑定一次
  • {{{msg}}}HTML转义输出

过滤器

过滤器用作一些常见的文本格式化。系统提供一些过滤器,vue也允许自定义一些过滤器

过滤器语法:

{{msg|filterA}}

/*运用多个过滤器*/

{{msg|filterA|filterB}}

系统提供过滤器(部分):

  1. uppercase   eg:{{'welcome'|uppercase}}  转大写
  2. lowercase    转小写
  3. capitalize     首字母大写
  4. currency  钱

  

vue基础01的更多相关文章

  1. Vue基础及脚手架环境搭建

    From:http://www.jianshu.com/p/dc5057e7ad0d 一.vue基础 “Vue2.0”跟俺一起全面入坑 01 “Vue2.0”跟俺一起全面入坑 02 “Vue2.0”跟 ...

  2. Vue基础之Vue的模板语法

    Vue基础之Vue的模板语法 数据绑定 01 数据绑定最常见的形式就是使用插值表达式(两个大括号!)[也就是小胡子语法!mustache] <body> <!-- Vue.js的应用 ...

  3. Vue基础之生命周期函数[残缺版]!

    Vue基础之生命周期函数[残缺版]! 为什么说是残缺版呢?! 因为有一些周期函数我并没有学到!所以是残缺版! 01 beforeCreate //在实例初始化之后,数据观测 (data observe ...

  4. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

  5. Androd核心基础01

    Androd核心基础01包含的主要内容如下 Android版本简介 Android体系结构 JVM和DVM的区别 常见adb命令操作 Android工程目录结构 点击事件的四种形式 电话拨号器Demo ...

  6. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  7. Linux基础01 学会使用命令帮助

    Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...

  8. 可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术

    可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术 前言 如果,我们只给出一个数学问题的(比如一道数独题)约束条件,是否有程序可以自动求出一个解? 可满足性模理论(SMT - Sat ...

  9. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十八║Vue基础: 指令(下)+计算属性+watch

    回顾 今天来晚辣,给公司做了一个小项目,一个瀑布流+动态视频控制的DEMO,有需要的可以联系我,公司的项目就不对外展示了(一个后端程序员真的要干前端了哈哈哈). 书接上文,昨天正式的开始了Vue的代码 ...

随机推荐

  1. 怎么一次性获取form所有的值?rerialize() 、 serializeArray()方法的使用

    from直接提交当然方便,但是有时候需要对数据进行处理再用ajax提交,挨个去获取值未免太麻烦,讲两个一次性获取所有值的方法. 方法1 $("form").serialize(); ...

  2. python加载sqlite3报错:No module named _sqlite3

    环境为Ubuntu16.04 Apache2.4 Python2.7.13 django 1.8 今天部署apache+django,经过各种折腾,好不容易配置完了,发现错误Apache的日志里有一项 ...

  3. 编写原生JS的insertAfter函数

    DOM里有insertBefore函数,但没有insertAfter函数,所以自己编写一个该函数: function insertAfter(newElement, targetElement){ v ...

  4. 面向面试编程——javascript对象的几种创建方式

    javascript对象的几种创建方式 总共有以下几个模式: 1.工厂模式 2.构造函数模式 3.原型模式 4.混合构造函数和原型模式 5.动态原型模式 6.寄生构造函数模式 7.稳妥构造函数模式 1 ...

  5. R语言统计分析技术研究——岭回归技术的原理和应用

    岭回归技术的原理和应用 作者马文敏 岭回归分析是一种专用于共线性分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息,降低精度为代价获得回归系数更为符合 ...

  6. 实现Ant Design 自定义表单组件

    Ant Design 组件提供了Input,InputNumber,Radio,Select,uplod等表单组件,但实际开发中这是不能满足需求,同时我们希望可以继续使用Form提供的验证和提示等方法 ...

  7. Python----Windows环境下安装Flask

    Flask是Python中web开发的一个轻框架,掌握起来比较简单,想体验一下,先从安装Flask开始. 我是在Widows环境下安装的Flask,在Linux环境下也一样,无非就是安装几个依赖和开发 ...

  8. 在PHP中连接数据库的八大步骤

                                                                                   连接数据库的八大步骤  Step1:链接数 ...

  9. .NET C#转Java没那么难,开发环境篇

    .NET C#转Java没那么难,都是面向对向的语言,而且语法还是相似的,先对比一下开发环境,再到Servlet,再到MVC,都是一样一样的,只是JAVA的配制项比较多而已,只要配好一个,后面都是co ...

  10. 阿里巴巴的datasource

    阿里巴巴的datasource:<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSourc ...