前端开发_Vue入门

Vue概念

Vue 是一个用于构建用户界面的渐进式框架

  • 构建用户界面:基于数据渲染出用户看到的页面
  • 渐进式:循序渐进
  • 框架:一套完整的项目解决方案

创建Vue实例

  1. 准备容器

  2. 引包(开发版本/生产版本)

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    
  3. 创建Vue示例(new Vue()

  4. 指定配置项->渲染数据

    • el指定挂载点
    • data提供数据

插值表达式

插值表达式是一种 Vue 的模板语法

示例:

<div id="app">{{msg}}
</div>
data: {msg: 'message'
}

作用: 利用表达式进行插值,渲染到页面中

语法:{{ 表达式 }}

使用的数据必须存在 (data)

支持的是表达式,而非语句,比如:if for …

不能在标签属性中使用 {{ }} 插值

响应式

数据的响应式处理→ 响应式:数据变化,视图自动更新

访问数据: “实例.属性名”

修改数据: “实例.属性名” = “值”

Vue指令

Vue 会根据不同的【指令】,针对标签实现不同的【功能】

指令:带有 v- 前缀 的 特殊 标签属性

也就是说vue指令是放在html标签中的一种属性,用于执行不同的功能

v-html

作用:设置元素的 innerHTML

语法:v-html = "表达式 "

这里的表达式就是要插入html中的内容,可以从js中获取并解析

v-show

作用: 控制元素显示隐藏

语法: v-show = “表达式” 表达式值 true 显示, false 隐藏

原理: 切换 display:none 控制显示隐藏

场景: 频繁切换显示隐藏的场景

v-if

作用: 控制元素显示隐藏(条件渲染)

语法: v-if = “表达式” 表达式值 true 显示, false 隐藏

原理: 基于条件判断,是否 创建 或 移除 元素节点

场景: 要么显示,要么隐藏,不频繁切换的场景

v-else

作用: 辅助 v-if 进行判断渲染

语法: v-else v-else-if = “表达式”

注意: 需要紧挨着 v-if 一起使用

v-on

作用: 注册事件 = 添加监听 + 提供处理逻辑

语法:

  • v-on:事件名 = “内联语句”

  • v-on:事件名 = “methods中的函数名”

简写:@事件名

v-bind

作用: 动态的设置html的标签属性 → src url title …

语法: v-bind:属性名="表达式"

简写形式: :属性名="表达式"

v-bind 对于样式控制的增强 - 操作class:

语法 :class = “对象/数组”

示例1:键就是类名,值是布尔值。如果值为 true,有这个类,否则没有这个类

<div class="box" :class="{类名1: 布尔值, 类名2: 布尔值}"></div>

适用场景:一个类名,来回切换

示例2:数组中所有的类,都会添加到盒子上,本质就是一个 class 列表

<div class="box" :class="[ 类名1, 类名2, 类名3 ]"></div>

适用场景:批量添加或删除类

v-bind 对于样式控制的增强 - 操作style:

语法 :style = "样式对象"

示例:

<div class="box" :style="{ CSS属性名1: CSS属性值, CSS属性名2: CSS属性值 }"></div>

适用场景:某个具体属性的动态设置

v-for

作用: 基于数据循环, 多次渲染整个元素 → 数组、对象、数字…

语法1:v-for = "(item, index) in 数组"

  • item 每一项, index 下标
    • 这两个都可以理解为js中的变量,可以使用{{}}在html中进行访问
  • 省略 index: v-for = “item in 数组”

语法2:key属性=“唯一标识”

作用:给列表项添加的唯一标识。便于Vue进行列表项的正确排序复用。

key 的值只能是 字符串 或 数字类型

key 的值必须具有 唯一性

推荐使用 id 作为 key(唯一),不推荐使用 index 作为 key(会变化,不对应)

v-model

作用: 给表单元素使用, 双向数据绑定 → 可以快速获取或设置表单元素内容

① 数据变化 → 视图自动更新

② 视图变化 → 数据自动更新

语法: v-model = ‘变量’

示例:

<div id="app"><input type="text" v-model="username"> 
</div><script>const app = new Vue({el: '#app',data: {username: ''}})
</script>

指令修饰符

按键修饰符:

  • @keyup.enter -> 键盘回车监听

v-model修饰符

  • v-model.trim -> 去除首尾空格
  • v-model.number -> 转数字

事件修饰符:

  • @事件名.stop -> 阻止冒泡
  • @事件名.prevent -> 阻止默认行为

Vue语法

computed计算属性

基于现有的数据,计算出来的新属性。 依赖的数据变化,自动重新计算。

语法:

声明在 computed 配置项中,一个计算属性对应一个函数

使用起来和普通属性一样使用 {{ 计算属性名 }}

计算属性 → 可以将一段 求值的代码 进行封装

computed: {计算属性名 () {基于现有数据,编写求值逻辑return 结果}
}

watch侦听器

监视数据变化,执行一些 业务逻辑 或 异步操作。

语法:

  • 简单写法:简单类型数据,直接监视

    watch: {//该方法会在数据变化时触发执行数据属性名 (newValue,oldValue) {//一些业务逻辑},'对象.属性名' (newValue,oldValue){//一些业务逻辑}
    }
    
  • 完整写法:添加额外配置项

    watch: {//watch完整写法数据属性名: {deep: true,	//深度监视immediate: true,	//立即执行一次handlerhandler (newValue){//一些业务逻辑}}
    }
    

生命周期

  1. 创建

    • 将普通数据转换成响应式数据
  2. 挂载

    • 渲染模板(根据html结构渲染
  3. 更新

    • 修改数据,更新视图
  4. 销毁

    • 销毁实例

生命周期函数(钩子函数):

Vue生命周期过程中,会自动运行一些函数,被称为【生命周期钩子】, 让开发者可以在【特定阶段】运行自己的代码。

在这里插入图片描述

created:发送初始化渲染请求

mounted:操作dom

beforeDestroy: 释放Vue以外的资源(清除定时器、延时器……)

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

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

相关文章

消息中间件篇之Kafka-数据清理机制

一、Kafka文件存储机制 Kafka文件存储结构&#xff1a;一个Topic有多个分区。每一个分区都有多个段&#xff0c;每个段都有三个文件。 为什么要分段&#xff1f;1. 删除无用文件方便&#xff0c;提高磁盘利用率。 2. 查找数据便捷。 二、数据清理机制 1.日志的清理策略方案1 根…

[C++][linux]Linux上内存共享内存用法

一&#xff0c;什么是共享内存 共享内存&#xff08;Shared Memory&#xff09;&#xff0c;指两个或多个进程共享一个给定的存储区。进程可以将同一段共享内存连接到它们自己的地址空间中&#xff0c;所有进程都可以访问共享内存中的地址&#xff0c;就好像它们是由用C语言函…

GEE入门篇|遥感专业术语(实践操作4):光谱分辨率(Spectral Resolution)

目录 光谱分辨率&#xff08;Spectral Resolution&#xff09; 1.MODIS 2.EO-1 光谱分辨率&#xff08;Spectral Resolution&#xff09; 光谱分辨率是指传感器进行测量的光谱带的数量和宽度。 您可以将光谱带的宽度视为每个波段的波长间隔&#xff0c;在多个波段测量辐射亮…

RestTemplate启动问题解决

⭐ 作者简介&#xff1a;码上言 ⭐ 代表教程&#xff1a;Spring Boot vue-element 开发个人博客项目实战教程 ⭐专栏内容&#xff1a;个人博客系统 ⭐我的文档网站&#xff1a;http://xyhwh-nav.cn/ RestTemplate启动问题解决 问题&#xff1a;在SpringCloud架构项目中配…

Java SpringBoot 整合 MyBatis 小案例

Java SpringBoot 整合 MyBatis 小案例 基础配置&#xff08;注意版本号&#xff0c;容易报错&#xff09; pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http…

TikTok东南亚小店爆单思路,怎么玩?

东南亚地区的跨境电商市场已经成为全球范围内最具吸引力的市场之一&#xff0c;在各个跨境电商平台上&#xff0c;都是转化率最高的站点之一。TikTok作为电商黑马&#xff0c;吸引了一大波跨境电商玩家入驻&#xff0c;其中东南亚小店也成为热门的选择&#xff0c;那么东南亚小…

当Vue项目启动后,通过IP地址方式在相同网络段的其他电脑上无法访问前端页面?

当Vue项目启动后&#xff0c;通过IP地址方式在相同网络段的其他电脑上无法访问前端页面&#xff0c;可能是由以下几个原因造成的&#xff1a; 服务监听地址&#xff1a;默认情况下&#xff0c;许多开发服务器&#xff08;如Vue CLI的vue-cli-service serve&#xff09;只监听lo…

ky10-server docker 离线安装包、离线安装

离线安装脚本 # ---------------离线安装docker------------------- rpm -Uvh --force --nodeps *.rpm# 修改docker拉取源为国内 rm -rf /etc/docker mkdir -p /etc/docker touch /etc/docker/daemon.json cat >/etc/docker/daemon.json<<EOF{"registry-mirro…

kubectl 命令行管理K8S(上)

目录 陈述式资源管理方式 介绍 命令 项目的生命周期 创建 kubectl create命令 发布 kubectl expose命令 更新 kubectl set 回滚 kubectl rollout 删除 kubectl delete 应用发布策略 金丝雀发布 陈述式资源管理方式 介绍 1.kubernetes 集群管理集群资源…

深圳市萨科微半导体有限公司一直研究新材料新工艺

深圳市萨科微&#xff08;www.slkoric.com&#xff09;半导体有限公司一直研究新材料新工艺&#xff0c;不断推出新产品&#xff0c;驱动公司不断发展。最近萨科微slkor推出SL40T120FL系列IGBT单管&#xff0c;和CMOS运算放大器SLA333等产品&#xff0c;为新能源汽车、太阳能光…

【lv14 day10内核模块参数传递和依赖】

一、模块传参 module_param(name,type,perm);//将指定的全局变量设置成模块参数 /* name:全局变量名 type&#xff1a; 使用符号 实际类型 传参方式 bool bool insmod xxx.ko 变量名0 或 1 invbool bool insmod xxx.ko 变量名0 或 1 charp char * insmod xxx.ko 变量名“字符串…

基于Java学生管理系统设计与实现(源码+部署文档)

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…

1904_ARM Cortex M系列芯片特性小结

1904_ARM Cortex M系列芯片特性小结 全部学习汇总&#xff1a; g_arm_cores: ARM内核的学习笔记 (gitee.com) ARM Cortex M系列的MCU用过好几款了&#xff0c;也涉及到了不同的内核。不过&#xff0c;关于这些内核的基本的特性还是有些不了解。从ARM的官方网站上找来了一个对比…

【UE 材质】冰冻效果

效果 步骤 1. 打开“Quixel Bridge” 下载冰的纹理 2. 新建一个材质&#xff0c;这里命名为“M_Frozen” 打开“M_Frozen”&#xff0c;添加如下节点&#xff0c;此时我们可以通过控制参数“偏移”来改变边界的偏移 此时预览效果如下 如果增加参数“偏移”的默认值效果如下 3.…

OpenCV 16 - Qt使用opencv视觉库

1 下载好opencv视觉库 不知道怎么下载和编译opencv视觉库的可以直接使用这个 : opencvcv_3.4.2_qt 2 解压opencv包 3 打开opencv的安装目录 4.打开x86/bin 复制里面所有的dll文件&#xff0c;黏贴到C/windows/syswow64里面 5 新建Qt项目 6 修改pro文件:添加对应的头文件和库文件…

[python] 代码转换成流程图 (pycallgraph)

1. centos 7 安装dot 在 CentOS 7 上安装 Graphviz 中的 dot 工具可以通过 yum 命令进行。dot 工具是 Graphviz 提供的一个用于生成图形的命令行工具&#xff0c;通常在安装 Graphviz 的时候会一并安装。 以下是在 CentOS 7 上安装 Graphviz 的步骤&#xff1a; 更新 yum 软…

腾讯文档(excel也一样)设置单元格的自动行高列宽

1. 选中单元格 可选择任意一个或者几个 2. 设置自动 行高和列宽 即可生效

sql-labs第46关 order by盲注

sql-labs第46关 order by盲注 来到了第46关进入关卡发现让我们输入的参数为sort&#xff0c;我们输入?sort1尝试&#xff1a; 输入?sort2,3,发现表格按照顺序进行排列输出&#xff0c;明显是使用了order by相关的函数。 我们将参数变成1进行尝试&#xff0c;就会报错&…

树莓派使用git clone时报错failed: The TLS connection was non-properly terminated.

fatal: unable to access https://github.com/jacksonliam/mjpg-streamer.git/: gnutls_handshake() failed: The TLS connection was non-properly terminated. 原因&#xff1a;权限不足 解决办法&#xff1a;sudo git clone 加对应网址。 sudo git clone https://github.co…

韩国突发:将批准比特币ETF

作者&#xff1a;秦晋 韩国两党宣布将批准比特币ETF。比特币也再次成为竞选的宠儿。 4月10日&#xff0c;韩国将迎来每隔4年而进行的一次立法大选。在大选之前&#xff0c;现执政党与反对党都承诺将批准比特币ETF。 我们知道&#xff0c;比特币的主要受众群体以年轻人居多。此前…