前端开发_Vue入门

news2024/9/20 8:12:26

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,	//立即执行一次handler
            handler (newValue){
                //一些业务逻辑
            }
        }
    }
    

生命周期

  1. 创建

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

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

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

    • 销毁实例

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

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

在这里插入图片描述

created:发送初始化渲染请求

mounted:操作dom

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

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

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

相关文章

Leetcode刷题笔记题解(C++):6. Z 字形变换

思路&#xff1a;遍历时候需要更新步进长度 到达0行的时候步进长度为1&#xff1b;到达最后一行numRows-1行的时候步进长度为-1&#xff1b;代码如下所示&#xff1a; class Solution { public:string convert(string s, int numRows) {//如果字符串长度为1或者所给行数为1 …

WampServer环境下载安装并结合内网穿透实现远程访问管理界面

文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境&#xff0c;是一组常用来…

【C#】获取文本中的链接,通过正则表达式的方法获取以及优化兼容多种格式

欢迎来到《小5讲堂》 大家好&#xff0c;我是全栈小5。 这是《C#》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解&#xff0c; 特别是针对知识点的概念进行叙说&#xff0c;大部分文章将会对这些概念进行实际例子验证&#xff0c;以此达到加深对知识点的理解和掌握。…

007 地理配准纸质地图

大部分的GIS都会需要对某些影像进行“地理配准 &#xff08;Georeferencing&#xff09;”&#xff0c;也就是说要为影像的每个像素指定它在世界上的 地理空间座标。在多数的情况下&#xff0c;这些座标是通过野外调查收集而来&#xff0c;例如&#xff0c;用GPS设备&#xff0…

Python3.7.1标准安装

Python3.7.1标准安装 官网下载 官网地址&#xff1a;https://www.python.org/downloads/ 下载3.7.1 下载64/32bitwindows安装文件&#xff0c;下图x86-64是64bit&#xff0c;x86是32bit 双击exe文件安装 第一个界面如下图选择 第二个界面默认选择&#xff0c;然后点击Nex…

C++笔记(面对对象部分复习向)

B站&#xff1a;黑马程序员C教程 栈区&#xff0c;全局区&#xff0c;堆区和代码区 析构、构造和static 对象成员与类本身构造顺序&#xff0c;先成员后自己&#xff1b;析构则相反 static修饰成员变量,所有对象共享一份内存&#xff0c;编译阶段分配内存&#xff0c;类内声明…

input/textarea光标位置插入文字

需求是右边编辑sql时&#xff0c;点击左侧常量参数&#xff0c;直接在光标处插入对应的参数&#xff0c;大致实现代码如下&#xff1a; <input type"text" id"myInput" value"Hello, World!"> <button onclick"insertText()&qu…

一个基于 UWP 平台的第三方酷安客户端

前言 今天大姚给大家分享一款UWP平台开源的第三方酷安&#xff08;一个泛科技数码社区&#xff09;客户端应用&#xff1a;Coolapk UWP。 UWP介绍 UWP是Universal Windows Platform的缩写&#xff0c;即通用 Windows 平台。它是微软推出的一种应用程序开发平台&#xff0c;允…

第15章-IP子网划分

1. 子网划分的需求 1.1 早期的IP地址分类 1.2 产生的问题 1.3 现实的应用场景 2. IP子网划分基础知识 2.1 概念 2.2 子网掩码 3. IP子网划分相关计算 3.1 概述 4. VLSM和CIDR 4.1 VLSM(可变长子网掩码)小 → 大&#xff1b; 4.2 CIDR(无类域间路由)大 → 小&#xff1b; 5.…

[AutoSar]BSW_Com03 DBC详解 (一)

目录 关键词平台说明一、DBC 定义1.1 相关工具 二、主要组成部分介绍2.1 Networks2.2 ECUs2.3 Network nodes2.4 messages2.5 signal2.6 Value Tables 三、主要组成部分关系图 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector &am…

向量数据库的特性、索引和分析权衡

向量数据库概述 向量数据库的特征 数据库多样性&#xff1a;向量数据库在实现、性能、可扩展性和易用性方面存在差异&#xff0c;支持语义搜索应用。融资与地理位置&#xff1a;多数向量数据库初创公司集中在加州湾区&#xff0c;但资金并不直接反映数据库能力。编程语言&…

路由器端口映射如何配置?

在网络通信中&#xff0c;路由器是一个重要的设备&#xff0c;它负责将数据包从一个网络传输到另一个网络。路由器的端口映射配置是一种重要的设置&#xff0c;可以使外部网络中的计算机通过访问路由器上的特定端口与内部网络中的计算机进行通信。本文将介绍什么是路由器端口映…

Docker+Kafka+Kafka-ui安装与配置

前言 Docker、Kafka都是开发中常用到的组件。在自己的第三台电脑上去安装这些…所以写个博客记录一下安装过程。本文主要内容&#xff1a;Docker安装、kafka安装、kafka可视化配置。这次的电脑环境是Windows11&#xff0c;Intel处理器。 Docker安装 https://www.docker.com/p…

51单片机学习(5)-----蜂鸣器的介绍与使用

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步。 目录 一. 蜂鸣器的介绍 1.蜂鸣器介绍 2.压电式蜂鸣器 &#xff08;无源…

元学习(meta-learning)的通俗解释

目录 1、什么是元学习 2、元学习还可以做什么 3、元学习是如何训练的 1、什么是元学习 meta-learning 的一个很经典的英文解释是 learn to learn&#xff0c;即学会学习。元学习是一个很宽泛的概念&#xff0c;可以有很多实现的方式&#xff0c;下面以目标检测的例子来解释…

linux服务器vi文件中文乱码

服务器vi编辑中文乱码 cat 文本是中文 可以编辑 vi /etc/environment 文件修改为utf8中文字符集 LANGzh_CN.UTF-8 LANGUAGEen_US:en LC_CTYPE"zh_CN.UTF-8" LC_NUMERIC"zh_CN.UTF-8" LC_TIME"zh_CN.UTF-8" LC_COLLATE"zh_CN.UTF-8"…

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘无密码如何解决

1.修改my.cnf配置文件 &#xff08;1&#xff09;找到my.cnf位置&#xff0c;在[mysqld]下面添加skip-grant-tables cd / vim /etc/my.cnf &#xff08;2&#xff09;添加完成后保存&#xff0c;并重启mysql服务 按下esc 输入:wq 执行 servcie mysqld restart 2.进入mysql数据…

2024年蓝牙耳机哪个好?五大口碑热门爆棚机型力荐!

​长时间的通勤或等待中&#xff0c;我喜欢戴着耳机静静地听音乐&#xff0c;享受那片刻的宁静。对我来说&#xff0c;耳机是生活中不可或缺的数码产品&#xff0c;无论是在路上还是在运动时&#xff0c;我都会随身携带。在这篇文章中&#xff0c;我将分享我对耳机的了解和使用…

【深度学习笔记】3_11 模型选择、欠拟合和过拟合

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;做了部分个人理解标注&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 3.11 模型选择、欠拟合和过拟合 在前几节基于Fashion-MNIST数据集的实验中&#xff0c;我们评价了机器学习模型在训练数据集和测试数…

OpenAI-Sora:最新文生视频教程-Sora怎么用(新手小白)

Sora 是什么&#xff1f; Open AI 宣布推出全新的生成式人工智能模型“Sora”。据了解&#xff0c;通过文本指令&#xff0c;Sora 可以直接输出长达 60 秒的视频&#xff0c;并且包含高度细致的背景、复杂的多角度镜头&#xff0c;以及富有情感的多个角色。 - 继文本、图像之后…