Vue学习笔记之二

106 阅读2分钟

内容概括:修饰符,跨域请求(jsonp),监听,深度监听,计算属性

一.修饰符

1.阻止默认事件修饰符

@事件名.prevent

2.阻止事件冒泡

@事件名.stop

3.修饰符:可以连贯使用

4.只触发自身标签才会生效

@事件名.self

5.指定的事件修饰符只有一次作用

@事件名.once

6.其它

(1)键盘按下:keydown

(2)键盘抬起:keyup

(3)键盘方向键↑:keydown.up

(4)键盘方向键↓:keydown.down

(5)键盘方向键←:keydown.left

(6)键盘方向键→:keydown.right

(7)原生的keycode:keydown.keycode

二.移动端

7.移动端点击事件

(1)按下:touchstart

(2)移动:touchmove

(3)结束:touchend

当我触发事件时,通过形参e就可以传过来此事件自身携带的事件mouseevent,可用于逻辑应用

三.jsonp跨域请求

8.jsonp的跨域请求

(1)为什么创造script?

利用 script 标签没有跨域限制的漏洞,网页可以得到从其他来源动态产生的 JSON 数据。JSONP 请求一定需要对方的服务器做支持才可以。 JSONP 和 AJAX 相同,都是客户端向服务器端发送请求,从服务器端获取数据的方式。但 AJAX 属于同源策略,JSONP 属于非同源策略(跨域请求) JSONP 优点是简单兼容性好,可用于解决主流浏览器的跨域数据访问的问题。缺点是仅支持 get 方法具有局限性,不安全可能会遭受 XSS 攻击。

(2)步骤

a.引入vue一套

b.创建script,添加src属性,接口由后端给出

c.设置空数组用于挂载点中的内容

四.监听

  1. .watch必须与data同级
watch:{
  变量名:(){}
}

10.深度监听

(1)深度监听只适用于在实例化的vue中,监听对象,因为在普通的监听中,对象里面的属性改变时,对象不会改变,普通监听不到,需要用深度监听,监听到对象的改变;

(2)如果多个监听,监听的是同一个对象,会覆盖;

(3)注意,深度监听,监听的是对象,不会确切到某一个属性;

watch:{
    变量(对象类型):{
        handler:function(){
            //业务逻辑代码
        },
        deep:true
    }
}

11.计算属性

(1)能够实时更新

(2)最后的值需要用return返回

computed:{
    新的变量名:function(){

        处理规则...

        return 值

    }
}

(3)注意:计算属性的变量不需要在data里预定义,但是需要在页面上使用计算属性中的变量,只有使用后计算属性中的业务逻辑代码才会自动执行。