vue学习1

news2025/1/9 2:13:50

文章目录

    • VUE注意点
    • 绑定
    • 模板语法
      • 插值语法
      • 指令语法
    • vue中的data
    • 数据代理
    • 事件处理
      • 点击
      • 修饰符
      • 键盘事件keyup
    • 计算属性
    • 监视
      • 深度监视
      • 监视与计算属性的区别
    • 样式绑定
    • 条件渲染
    • 列表渲染
      • 对key的理解
    • 列表过滤
    • 监视数据改变的底层原理
      • SET()
      • 数据劫持
    • 接收表单数据
    • 过滤器
      • 局部过滤器
      • 全局过滤器
    • 内置指令
      • v-text
      • v-html
        • cookie
      • v-cloak
      • v-once
      • v-pre
    • 自定义指令
      • 局部
      • 全局
    • 生命周期
      • mounted:
      • beforeDestroy
      • $destroy
      • 小知识点
      • 总结
    • 组件化编程
      • 非单文件组件
      • 总结
      • 几个注意点
      • 组件的嵌套
      • VueComponent(VC)
        • 总结
      • VueComponent与Vue的关系
    • 单文件组件

VUE注意点

在vue的实例中,methods和computed中不能写箭头函数,否则会指向window。

绑定

Vue与容器的绑定时一一对应

模板语法

插值语法

{{}} 用于标签体

<h1>{{}}</h1>

指令语法

用户标签属性:有
v-bind:简写 :单向绑定
v-model:value简写v-model 双向绑定,只能用户表单类型元素

vue中的data

可以嵌套
##MVVM
mv: modelview
v: view
m: model
只要有modelview中有的数据,view才能访问到,modelview是 model与view的中转站。

数据代理

定义:通过一个对象代理操作另一个对象的属性。
data被存在vm的_data中
只有data中的数据才会数据代理

  <script type="text/javascript">
        let num=19;
        let person={
            name:"张三",
            address:"成都",
        }
        Object.defineProperty(person,'age',{
            // value:18,
            enumerable:true ,//可以枚举(遍历)
            // writable:true,
            configurable:true,//控制属性是否被删除,
            //获取age的值时,会调用这个get函数,
            get(){
                return num;
            },
            //set时当修改值时有所改变
            set(value){
                num=value;
            }

        });
        
    </script>

事件处理

点击

v-on:click="函数名"简写@ click
传参在事件那写括号,不传参直接写函数名
click.prevent 阻止默认事件。
click.stop 阻止冒泡(就是里面和外面都有事件,只产生一个事件)
click.once 只触发一次

修饰符

可以连续写
. capture 事件的捕获事件,先捕获后冒泡
. self 点击自己的元素才能触发
.scoll 滚动滚动条才舒服
.wheel 鼠标滚轮滚动就触发
事件.passive 先做默认事件,无需等待事件回调执行完成。

键盘事件keyup

tab 要配合keydown
只能用确定的两个如ctrl+y .ctrl.y
keyup.en
在这里插入图片描述

获取按键的别名(建议)和编码(不建议)(两个单词组成的,将大写换成小写,然后用-连接)
在这里插入图片描述

计算属性

插值,{{}}若获取函数值,那么就要在函数后面加()。
计算属性的过程要配置成一个对象
计算属性有缓存,一样的值只接走缓存
在这里插入图片描述
简写
直接写一个函数即可,不用写get函数

监视

在这里插入图片描述

写法二
在这里插入图片描述

深度监视

在这里插入图片描述
在这里插入图片描述
标准写法,访问多级的数据
在这里插入图片描述
总结
在这里插入图片描述

在这里插入图片描述

监视与计算属性的区别

在这里插入图片描述

必须这样写,因为箭头函数没有指向,就会外找,那么就是找到firstName,那么就是Vue管理的了,就是VUE的this.
如果不写成箭头,那么this就是指向的Window那么代码就会错。
在这里插入图片描述

样式绑定

class也可以绑定,:class=“”,

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
还有其他方式,如 绑定对象,对象中加样式。

条件渲染

在这里插入图片描述

是否显示
v-if 没有标签了 v-show 有标签
在这里插入图片描述
template 只能和v-if配合,不能和v-show配合,而且,template不会破坏结构,当渲染后,会消失掉。
在这里插入图片描述

列表渲染

在这里插入图片描述

可以将(p,index)换成p,也可以写成:key=“p.id”,只要保证key不一样就可以了。用of和in都可以

在这里插入图片描述

用的少
在这里插入图片描述
用的少
在这里插入图片描述

对key的理解

在这里插入图片描述

如果不写key,就要自动补上一个key。
对比的时虚拟DOM,如果虚拟DOM一样,就复用(区别真实DOM)
在这里插入图片描述
在这里插入图片描述

列表过滤

空字符串也包含在字符串中
在这里插入图片描述

列表过滤
在这里插入图片描述
过滤加排序
在这里插入图片描述

在这里插入图片描述

监视数据改变的底层原理

在这里插入图片描述
在这里插入图片描述

按对象改,不奏效,页面不会改变,但是内存数据改变了
在这里插入图片描述
简单的数据检测底层
数据检测就是使用的Object.defineProperty(this,属性,{})
在这里插入图片描述

vue中不显示undefined,data中的对象的属性没有时就是undefined不会报错。
操作data中的数组时,要用数组的方法(也可以用set)去操作,才会有反应,不能用赋值vue中的操作数组函数和js中的操作函数不一样,不是一个。vue中的的函数中包含了原生的和重新更新模板
vue中的响应式都是和setter和getter有关,没有的话,就响应不了

SET()

向data中追加数据,添加以前没有写的数据。
vue.set()只能向data中的对象添加数据,而不能给data添加数据
在这里插入图片描述

数据劫持

将数据的形式,改成了setter和getter的形式。

接收表单数据

表单关联

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
都必须设置value值,hobby必须是数组,才能一个一个接收

v-model写在select上面
在这里插入图片描述

提交阻止默认
在这里插入图片描述
注意接收和收入number
在这里插入图片描述
加入lazy时当失去焦点时,才会提交上去
在这里插入图片描述

去掉前后空格

在这里插入图片描述

转换为json
在这里插入图片描述
在这里插入图片描述

过滤器

用于插值和v-bind不能用于v-model

局部过滤器

只有这个vm才能用到这个过滤器,不同组件之间的过滤器不能相互用
在这里插入图片描述
括号中的等于是默认值
在这里插入图片描述

全局过滤器

先创建过滤器再创建Vue
在这里插入图片描述

在这里插入图片描述

内置指令

v-text

在这里插入图片描述
在这里插入图片描述

v-html

支持结构上的解析
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

cookie

在这里插入图片描述
在application中的cookies中,
在这里插入图片描述
在这里插入图片描述
document.cookie可以获取cookie,但是如果加了httpOnly就抓取不了了

在这里插入图片描述

v-cloak

在这里插入图片描述

若 script的引入满了五秒,后面的渲染也要跟着慢五秒,跟着堵塞,但是前面的不会。
当Vue介入后,v-cloak会被删除

用途
在这里插入图片描述

v-once

只让它渲染一次
在这里插入图片描述
在这里插入图片描述

v-pre

vue不去解析它了,可以给静态的标签加v-pre,提高效率

在这里插入图片描述

自定义指令

在这里插入图片描述

在这里插入图片描述
两种自定义方式

局部

在这里插入图片描述

全局

在这里插入图片描述

binding包含了指令的一系列的值
element 是传入的元素
和指令相关,this就window不是Vue。

注意:两个字母组合 如bigNumber要写成big-number directives要写成‘big-number’,出现-要用引号包含

在这里插入图片描述

生命周期

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mounted:

在这里插入图片描述
js操作小数时,结果会是一个近似值,所以不用等于,用大于小于就好,否则可能会不行。

beforeDestroy

在这个阶段对数据的更新不会更新到页面了。

$destroy

在这里插入图片描述
这里是解绑自定义事件监听器,而不是DOM原生的。

小知识点

虚拟DOM是直接替换真实DOM
在里面用template时,必须有一个根节点,而且不能用template标签做根节点。
可以用this.$el instanceof HTMLElment 查看是不是真实DOM

总结

在这里插入图片描述

组件化编程

非单文件组件

非单文件组件:一个文件里有很多组件(开发一般不用)
这个是局部注册组件,这个用的多
在这里插入图片描述
也可以这样注册
在这里插入图片描述
这是全局注册组件
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

几个注意点

组件名,两个字母组成,用横线连接,用单引号引起来
在这里插入图片描述
在这里插入图片描述
怎么用都是这个名字
在这个环境下,如果用自闭和组件的话,多个组件可能只会显示一个。

组件的嵌套

在这里插入图片描述
在这里插入图片描述
嵌套

VueComponent(VC)

vc是自己起的,不是专用的

总结

在这里插入图片描述

VueComponent与Vue的关系

在这里插入图片描述
在这里插入图片描述

单文件组件

命名:例如:my-shool.vue MySchool.vue 两种
要知道ES6的三种暴露方式
配置的name最好和文件名相同

企业级开发格式
两个vue文件与App.vue文件交流,main.js文件跟App.vue交流,将main.js导入到index.html中进行渲染。
在这里插入图片描述
接 分析脚手架

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/581000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux常用命令精选

参考文章&#xff1a; Top 60 Linux Interview Questions and Answers - howtouselinux 在管理和维护Linux系统时&#xff0c;有一些常用的命令可以帮助您进行系统初始化和配置。这些命令涵盖了各种任务&#xff0c;包括系统设置、用户管理、软件安装和网络配置等。 本文将为…

C++11中的智能指针unique_ptr、shared_ptr和weak_ptr详解

目录 1、引言 2、什么是智能指针&#xff1f; 3、在Visual Studio中查看智能指针的源码实现 4、独占式指针unique_ptr 4.1、查看unique_ptr的源码实现片段 4.2、为什么unique_ptr的拷贝构造函数和复制函数被delete了&#xff1f;&#xff08;面试题&#xff09; 4.3、使…

【C++】——vector的介绍及模拟实现

文章目录 1. 前言2. vector的介绍3. vector的常用接口3.1 vector对象的常见构造函数3.2 iterator的使用3.3 vector的空间管理3.4 vector的增删查改 4. vector迭代器失效的问题4.1 底层空间改变的操作4.2 指定位置元素的删除操作 5. vector模拟实现6. 结尾 1. 前言 上一篇文章我…

K210入门-环境搭建与点灯测试(一)

目录 1、简介 2、资质查找 3、IDE下载安装 4、测试程序 4.1 测序复制 4.2 开发板选择 4.3 链接 4.4 效果展示 1、简介 本文主要针对小白使用K210进行入门&#xff0c;以及自己学习的总结与笔记使用。本文主要进行环境搭建与点灯测试。 2、资质查找 首先去官网进行资料下…

Flume系列:Flume数据监控Ganglia

目录 Apache Hadoop生态-目录汇总-持续更新 安装说明 1&#xff09;安装 ganglia 2&#xff09;在 worker213 修改配置文件 3&#xff09;在 所有服务器 修改配置文件/etc/ganglia/gmond.conf 4&#xff09;启动 ganglia 5&#xff09;打开网页浏览 ganglia 页面 6&…

《UVM 实战》 代码下载, 无需注册

法一&#xff1a; https://www.hzcourse.com/web/refbook/detail/5651/229 法二&#xff1a; https://www.hzcourse.com/oep/resource/access/L29wZW5yZXNvdXJjZXMvdGVhY2hfcmVzb3VyY2UvZmlsZS8yMDE3LzEwL2IyMDE0OTFmMmUxMjdkNTM2YjhmMjBmNWUzMTRhMjE3Lmd6JGV4YW1wbGVfYW5kX3…

如何在华为OD机试中获得满分?Java实现【报数游戏】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述4. Java算法源码5. 测试6.解题思路1. 题目描述 100个人围成一圈,每个人…

Redis数据库简介

1.Redis数据库介绍 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 2.Redis数据库特性 Redis支持数据的持久化&#xff0c;可以将内存中的数据保存在磁盘中&#xff0c;重启的时候可以再次加…

2023 华为 Datacom-HCIE 真题题库 09--含解析

单项选择题 1.[试题编号&#xff1a;190485] &#xff08;单选题&#xff09;华为交换机MAC地址表的老化时间默认是多少秒? A、500 B、5 C、300 D、400 答案&#xff1a;C 解析&#xff1a;无 2.[试题编号&#xff1a;190484] &#xff08;单选题&#xff09;如图所示&#…

数据分析之Pandas--数据检索

数据分析之Pandas&#xff08;03&#xff09;--数据检索 pandas的数据检索功能是其最基础也是最重要的功能之一。 pandas中最常用的几种数据过滤方式如下&#xff1a; 1. 行列过滤&#xff1a;选取指定的行或者列 2. 条件过滤&#xff1a;对列的数据设置过滤条件 3. 函数过…

提升PostGIS大范围、大数据量分区几何裁剪统计查询速度技巧

PostGIS是在GIS系统开发中常用的开源空间数据库&#xff0c;使用PostGIS进行大范围、大数据量的几何裁剪操作时&#xff0c;耗时较长。 当我遇到需要按区县或选中的乡镇&#xff0c;计算展示林规、土地报批等多个规划数据的面积等&#xff0c;此时需要使用规划数据叠加行政界线…

几句命令搞定一个es:docker安装elasticsearch+可视化kibana

docker安装elasticsearch可视化kibana 写在前面es安装&#xff1a;docker安装elasticsearches搜索&#xff1a;安装elasticsearch插件IK分词器es可视化&#xff1a;docker安装kibana最后 写在前面 从自己知道es开始到写这篇文章差不多也有5年左右的时间了吧&#xff0c;之前总…

FastReport.Net FastReport.Core 2023.2.15 Crack

快速报告.NET .NET 7 的报告和文档创建库 FastReport.Net & FastReport.Core适用于 .NET 7、.NET Core、Blazor、ASP.NET、MVC 和 Windows 窗体的全功能报告库。它可以在 Microsoft Visual Studio 2022 和 JetBrains Rider 中使用。 快速报告.NET 利用 .NET 7、.NET Core、…

C++程序设计基础【一】

C程序设计基础【一】 一、一个程序的开发步骤1.编辑程序2.编译程序3.链接程序4.执行程序5.测试 2.基础代码解读1.预处理指令(#include <iostream>)2.块注释(/* */)3.行注释(//)4.using namespace std5.int main()6.{}7.std::cin、std::cout、std::endl8.return 0 二、变量…

云上高校导航 开发指引 与 注意事项

&#x1f52c; 注意事项 大部分数据存储在utils.js中的&#xff0c;页面通过引入utils.js方式渲染数据 图标全部存储在项目images文件夹里,均下载自 iconfont网站&#xff08;自行替换&#xff09; 部分图片引用自 免费图床 - CDN加速图床&#xff08;自行替换&#xff09; …

七年程序员的三四月总结:三十岁、准备婚礼、三次分享

你好&#xff0c;我是 shixin&#xff0c;一名工作七年的安卓开发。 每两个月我会做一次总结&#xff0c;记下这段时间里有意义的事和值得反复看的内容&#xff0c;为的是留一些回忆、评估自己的行为、沉淀有价值的信息。 一转眼 2023 年过去了三分之一&#xff0c;这两个月经…

响应式编程实战:Spring WebFlux集成MongoDB和Swagger

1 缘起 新的项目&#xff0c;快速迭代&#xff0c; 技术选型&#xff1a;Spring WebFlux&#xff0c; 非Spring MVC&#xff0c; 之前没有接触过Spring WebFlux&#xff0c;项目中都是使用Spring MVC&#xff0c; 这次学到了新的知识Spring WebFlux&#xff0c;记录下。 2 Sp…

C++实现哈希表

文章目录 前言1.哈希表的相关介绍2.哈希表的实现1.开放定址法实现哈希表1.插入2.查找3.删除 2.链地址法(开链法)实现哈希表1.插入节点2.查找3.删除4.相关的一些补充 3.封装unordered_map与unordered_set1.封装前的改造2.迭代器的实现3.unordered_map和unordered_set复用 前言 …

60题学会动态规划系列:动态规划算法第一讲

坚持就是胜利 - - 文章目录 1.第N个泰波那切数 2.三步问题 3.使用最小花费爬楼梯 4.解码方法 1.第N个泰波那切数 力扣链接&#xff1a;力扣 泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c…

多线程 -- 线程安全问题(3)

本篇重点: 总结线程安全问题的原因以及解决办法 目录 synchronized 加锁关键字join 和 synchronized 的区别volatile 关键字 在上一篇中我们介绍了Thread类的基本使用方法, 本篇将会介绍有关于线程的安全问题 线程不安全的原因: 抢占式执行(罪魁祸首, 万恶之源) 多个线程修改同…