vue学习(二)

9.vue中的数据代理

通过vm对象来代理data对象中的属性操作(读写),目的是为了更加方便操作data中的数据

基本原理:通过Object.defineProperty()把data对象所有属性添加到vm上,为每一个添加到vm上的属性,都增加一个getter/setter方法,在方法内部去操作(读写)data中对象的属性

10.vue中事件

使用v-on:xxx或者@xxx 绑定事件,xxx是事件名 如:v-on:click="onShow" 或 @click = "onShow"

事件的回调需要配置再vm的methods对象中

methods中配置的函数,如果用箭头函数,this会变成windows,不用则是vm

@click = "onShow" 和 @click = "onShow(@event)" 效果一样,但是后者可以传参

11.vue事件修饰符

@click = "onShow" @click.prevent = "onShow" @click.prevent.stop = "onShow"

prevent:阻止默认事件

stop:阻止事件冒泡

once:事件只触发一次

capture:使用事件的捕获模式(捕获模式:事件传递从内向外的过程,冒泡是捕获发生后,反向传递)

self:只有event.target是当前操作的元素的时候才触发

passive:事件的默认行为立即执行,无需等待事件回调执行完毕(交互层立即执行,无需等待事件处理)

12.vue键盘事件

@keyup = enter @keyup = ctrl.x = "onShow"

鉴于一些特殊按键带有特殊功能 keyup不好用的时候 可以使用keydown

vue中常用的按键别名: enter delete esc space tab up down left right

vue未提供别名的按键,可以使用按键原始的key值去绑定,但注意几个单词的要转为keba-case(短横线命名)

系统修饰键 ctrl alt shit meta 用keyup的时候要加上其他键,用keydown不需要

可以使用Vue.config.keycodes.自定义键名=键码

13.vue计算属性

要用的属性不存在,要用到已有属性计算得来,初次读取会执行一次,当依赖的数据发生改变会被调用,有缓存机制,效率更高

如果只有读取,可以如此简写

javascript 复制代码
computed:{
                onshow() {
                    console.log('get倍调用了')
                    return this.name + '+' + this.name1
                }
            }

如果读写都有:

javascript 复制代码
computed:{
                onshow:{
                    get(){
                        console.log('get倍调用了')
                        return this.name + '+' + this.name1
                    },
                    set(value){
                        console.log('set',value)
                        this.name = value;
                        this.name1 = value;
                    }
                }
            }
相关推荐
励志不掉头发的内向程序员43 分钟前
【从零写一个CAD 03】三个 double 值得单独一个类吗:把视图变换抽成 View
开发语言·c++·qt·学习·系统架构
m4Rk_7 小时前
【论文阅读】Agent 记忆机制(83):Inside Out——用可演化 PersonaTree 构建 Agent 的核心长期记忆
论文阅读·人工智能·学习·开源·github
FungLeo7 小时前
成为全栈·React 管理后台篇·总复盘:从“接口能调通”到“后台值得使用”
前端·react.js·前端框架·项目复盘·成为全栈
鬓戈8 小时前
Rust 语言与 AI 应用生态调研及学习路径
人工智能·学习·rust
传奇开心果编程8 小时前
【SwiftUI娓娓道来】第3课:让界面活起来——交互与动画指南
学习·macos·ui·ios·swiftui·swift
xian_wwq9 小时前
【学习笔记】等保合规安全基线核查实战
笔记·学习
Csvn9 小时前
并发模式:让渲染学会排队、插队和让路
前端
可乐鸡翅yeah_9 小时前
新手梳理:M3U8 线上问题,哪些是前端锅,哪些是后端锅
前端·ios·音视频·实时音视频·m3u8·音视频在线播放
Flynt9 小时前
Linear 用 1000 个 PR 换掉 styled-components,我写了 200 个按钮,把这笔账复现了一遍
前端·css·preact
传奇开心果编程9 小时前
【Jetpack Compose进阶学与练】第14课:系列收尾复习总结;Compose项目常见坑点汇总;学习路线与后续学习方向
android·学习·ui·kotlin·android jetpack