Vue学习笔记

2023-09-19 21:58:30

初识Vue

  1. 需要创建Vue实例
  2. root容器代码需要符合html规范,但是混入了一些特殊的Vue语法
  3. root容器代码被称为Vue模板
  4. 容器和Vue实力之间一一对应

注意区分js表达式、js代码 :一个表达式会生成一个值,可以放在任何一个需要值的地方

  1. {{}}需要写js表达式,可以读取data中的所有属性
  2. data中属性的值发生改变,那么页面中用单该属性的地方也会自动更新
  3. 真实开发中只有一个vue实力,并且会配合着组件一起使用

Vue模板语法的两大类

  1. 插值语法
  • 功能:用于解析标签题内容
    {{xxx}}这种,xxx是js表达式,可以读到data中的所有属性
  1. 指令语法
  • 功能: 用于解析标签(含标签属性、标签体内容、绑定事件等)

举例
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
其中的:href就是v-bind:href的简写, 它会把后面的字符串Date.now()当作js表达式处理。 但如果只是<a href ='Date.now()'> </a>那么字符串Date.now()就真的只是字符串而已

Vue数据绑定

Vue中有两种数据绑定的方式

  1. v-bind:单向绑定,数据只能从data流向页面
  2. v-model:双向绑定,数据可以在data和页面中双向流动
    • 一般都用在表单类(输入类型)的元素
    • v-model:value可简写为v-model

el和data的两种写法

el的两种写法

  1. new Vue时配置el属性
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
  2. 先创建Vue实例,随后再通过vm.$mount('.root')这种方式指定el的值

data的两种写法

  1. 对象式
  2. 函数式

但是由vue管理的函数,例如上面的函数式data,不要写箭头函数,因为箭头函数的this是window,写了之后函数的this就不再是Vue实例了

MVVM模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
View Model是model和view间的桥梁

  1. Model:模型 == data中的数据
  2. View:视图 == 模板代码(页面)
  3. VM: 视图模型 == Vue实例
    观察发现:
  4. data种的所有属性,最后都出现在VM身上
  5. VM身上所有的属性,以及Vue原型山的所有属性, 在Vue模板中都可以直接使用

数据代理

回顾Object.defineproperty()

[参考,为什么value、writebale不能和getter、setter一起出现] (https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty)

语法
Object.defineProperty(obj, prop descriptor)

  • obj: 要定义属性的对象。
  • prop: 一个字符串或 Symbol,指定了要定义或修改的属性键。
  • descriptor: 要定义或修改的属性的描述符。
  • 返回值:传入函数的对象,其指定的属性已被添加或修改。

descriptor是个对象:

  • value是数值
  • writable是控制属性是否可以被修改,默认是false
  • configurable:控制属性是否可以被删除,默认是false
  • enumerable: 控制属性是否可以被枚举,默认是false
  • get()函数:当有人读取obj的prop属性时,getter会被调用,返回值为该prop的value
  • set()函数:当有人修改obj的prop属性时,setter会被调用,且会接收到被修改的值

数据代理

通过一个对象代理对另一个对象中属性的操作,就是数据代理
可以使用Object.defineProperty()去做数据代理

  1. Vue中的数据代理: 通过vm对象来代理data对象中属性的操作
  2. Vue中数据代理的好处: 更加方便操作data中的数据
  3. 基本原理:
    通过Object.defineProperty()把data对象中所有的属性添加到vm上。为每一个添加到vm属性都指定一个getter、setter。在getter、setter内部去操作data对应的属性
    ObObject.definePropertyObject.defineProperty
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

事件处理(事件的基本使用)

  1. v-on:xxx@xxx绑定事件,其中xxx是事件名
  2. 事件的回调需要配置在methods对象中,最终会在vm上
  3. methods中配置的函数,不可使用箭头函数,否则this就不是vm了
  4. methods中配置的函数,都是被vue所管理的函数,this的指向是vm或组件实例对象
  5. @click="demo"@click="demo($event)"效果其实一样,但后者带了括号,可以传参
更多推荐

对权限的理解和使用

目录一:用户权限:★su命令★sudo命令二:文件权限★文件的类型+权限★文件夹的权限的使用▲文件夹的可读权限:▲文件夹的可写权限:▲文件夹的可执行权限:★权限的修改操作▲chmod命令★对于文件的用户分组的修改▲chown命令▲chgrp命令★权限掩码以及umask指令★粘滞位的使用场景及使用方法在Linux当中我们

一文教你如何设计出优秀的测试用例(文档+视频)

这篇文章我们主要聊一下软件测试工程师最通用的也是最根本的技能,测试用例的设计能力。测试用例测试用例是通过使用在测试计划中确定的测试技术,对于已确定的测试条件进行逐步推敲,精炼而设计出来的重点说明如何具体操作产生何种结果的文档。通俗的话就是要把想要测试的动作变成在什么情况下,做什么动作,用什么数据方式去做,最后想得到什么

软件测试之功能测试详解

一、功能测试概述1)功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。2)功能测试,根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以

数据研发“新人”如何快速落地?

作者:肖迪(墨诩)一、前言这个季度主推安全月构筑&夯实稳定性底盘,就组织了组里的同学对核心业务链路进行了稳定性的摸排。在摸排过程中,不断有个声音在问你摸排出来的问题就是全部问题么?你加的监控加全了么?你的技改方案考虑全了么?(这个声音主要来自左耳,因为我leader坐在我的左边,哈哈哈哈)所以我们一直在思考和对焦,如何

SpringMVC之JSON数据返回及异常处理机制

目录一.JSON数据的返回二.异常处理机制2.1异常处理方式一2.2异常处理方式二2.3异常处理方式三一.JSON数据的返回JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于Web应用程序和服务之间的数据传输。通过使用JSON,数据可以以一种结构化的方式进行组织和存储,并可以

图像处理领域之►边缘检测大合集◄【应该是全网仅有的了吧】

图像处理领域之►边缘检测‧大合集◄概述{\color{Brown}概述}概述数据集{\color{Purple}数据集}数据集实践{\color{Red}实践}实践深度学习方法{\color{Blue}深度学习方法}深度学习方法机器学习方法{\color{Blue}机器学习方法}机器学习方法基于传统方法{\color{

掌握进度管理基本指南,保证项目不延期

项目管理中的进度管理是规划、制定、控制和监控项目时间表的过程,确保任务和活动按时完成。假设你是一名项目经理,带着团队组织一场备受瞩目的音乐节。精确的时间安排是关键。你需要确保演出者准时到达并按计划表演,所有供应商都准备就绪,安保人员到位。你可能会遇到一些问题,如音响设备车延误了、某位演出者无法到场而你需要在最后一刻换人

北斗+渔业:且看北斗卫星如何提升渔业监管水平

近日,为确保渔业船舶海上航行安全和管理,海南省农业农村厅近日发布通告:全省小型海洋渔船须于今年9月30日前完成北斗船载终端安装,大中型海洋渔船须于今年11月30日前同时完成北斗船载终端和“插卡式AIS”终端安装。近年来,北斗卫星在渔业监管方面的应用越来越普遍,发挥着越来越重要的作用。本文将详细介绍北斗卫星在渔业监管中的

基于当量因子法、InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估中的应用及论文写作、拓展分析

生态系统服务是人类从自然界中获得的直接或间接惠益,可分为供给服务、文化服务、调节服务和支持服务4类,对提升人类福祉具有重大意义,且被视为连接社会与生态系统的桥梁。自从启动千年生态系统评估项目(MillenniumEcosystemAssessment,MA)以来,生态系统服务成为学术界的研究热点,其中在生态系统服务功能

netty之ObjectPool(对象池)

对象池和我们的连接池一样就是对象放入一个池中循环使用。特别是在netty创建ByteBuf的时候buf循环使用大大减小了频繁创建对象,垃圾收集的压力。特别是在使用直接内存的时候。netty的对象池对象RecyclerObjectPoolextendsObjectPool。RecyclerObjectPool只是外层抽象

exev函数族

一.exev函数族1.1功能exec()函数族的主要功能是在当前进程中运行一个新的程序。使用这些函数可以实现以下功能:程序替换(ProgramReplacement):调用exec()函数后,当前进程的代码和数据会被新程序的代码和数据替换。这可以用于动态加载和替换程序,使得一个进程可以切换到运行不同的程序,实现灵活的程

热文推荐