vue的小入门

news2024/9/22 3:57:24
  1. vue的快速上手

Vue概念

  • 是一个用于构建用户界面的渐进式框架
  • 优点:大大提高开发效率
  • 缺点:需要理解记忆规则

创建Vue实例

步骤:

  1. 准备容器
  2. 引包
  3. 创建Vue实例new Vue()
  4. 指定配置项el data=>渲染数据

el指定挂载点,选择器指定控制的是哪个盒子

data:提供数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
       <h1> {{message}}</h1>
       <h2>{{count}}</h2>
    </div>
</body>
</html>
<script src="js/vue.js"></script>
<script>
    const app=new Vue({
        el:"#app",
        data:{
            message:"我是智障",
            count:19
        }
    })
</script>

插值表达式

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

  1. 作用:利用表达式进行插值,渲染到页面
    1. 表达式:可以被求值的代码,js会算出一个结果
  2. 语法:{{表达式}}
  3. 注意点
    1. 使用的数据必须存在
    2. 支持的式表达式而非语法
    3. 不能在标签属性中使用{{}}插值

Vue的核心特征:响应式

数据改变,视图自动更新

访问数据:实例.属性名

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

开发者工具:

  1. 在拓展中搜索VueDevtools下载安装
  2. 给他权限
  3. OK

Vue指令

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

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

v-html

v-html="表达式" ->动态设置元素innerHTML

v-if(条件渲染)

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

语法:v-if="表达式" 表达式值:true 显示,flase 隐藏

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

场景:不频繁切换的场景

v-show(显示隐藏)

作用:控制元素显示隐藏

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

原理:切换display:none

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

v-if v-else v-else-if

作用:复制v-if进行判断渲染

语法:v-else v-else-if="表达式"

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

v-on

  1. 作用:注册事件=添加监听+提供处理逻辑
  2. 语法:
    1.   v-on:事件名="内联语句“
 <button v-on:click="count++">+</button>
 //简写
  <button @click="count++">+</button>

         2.v-on:事件名="methods中的函数名"

        注意:

  • 内联语句可以直接拿data中的数据
  • method中是不能直接访问到data中的数据的,需要的是app.属性
  • 在methods中的函数,this都是指向当前实例
  1. 调用传参
    1. 可以额外传参
 
 <button @click="func(10)">+10</button> 
 /.../
 methods:{
            func(num){
                app.count=app.count+num;
            }
        }

v-bind

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

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

<div v-else> <img v-bind:src="imageUrl[page]" /> </div>

v-for

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

语法:v-for="(item,index) in 数组" (item每一项,index下标)

   <li v-for="(item,index) in list">
                {{item}}
            </li>
v-for中的key
    <ul>
                <li v-for="(item,index) in book" :key="item.id ">
                   <span>{{item.id}}</span><span>{{item.name}}</span><span>{{item.author}}</span><button @click="fun1(index)">删除</button>
                </li>
            </ul>

加key相当于每一列加了名字

不加v-for的默认行为会尝试原地修改元素(就地复用)

v-model

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

语法:v-model="变量"

<input type="text" name="" id="username"v-model="username"><br> <input type="password" id="password" v-model="password"><br>

指令修饰符

通过"."指明一些指令的后缀,不同后缀封装了不同的处理操作 ---》简化代码

按键修饰符

@keyup.enter --> 键盘监听

v-model修饰符

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

事件修饰符

@事件名.stop -->组织冒泡 @事件名.prevent -->组织默认行为

V-bind对于样式控制增强

为了方便开发者进行样式控制,Vue扩展了v-bind的语法,可以针对class类名和style行内样式进行控制

操作class(控制一批属性)

语法: v-bind:class="对象/数组"

1.对象-> 键就是类名,值是布尔值。如果值为true,有这个类,否则没有这个类
<div class="box" :class="{类名:布尔值,类名2:布尔值}"></div>
例子:    <a href='#' :class="{blue:index ===activeId}" @click="fn(index)">{{item}}</a>

2.数组-> 数组中的所有类,都会添加到盒子上,本质就是一个class列表
<div class="box" :class="[类名,类名2,类名3]"></div>
例子:<div width="20px" height="100px" :class="['area','pink']">

操作style(控制单个属性的变化)

语法: v-bind:style="样式对象"

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

v-model应用于其他表单元素

  • 常见的表单元素都可以用v-model绑定关联 -》快速获取或设置表单元素的值
  • 它会根据控件类型自动选取正确的方法来更新元素
input:text ->value textarea ->value input:checkbox ->checked input:radio ->checked select ->value

下一篇:计算属性+声明周期

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

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

相关文章

OpenCV-14图片的四则运算和图片的融合

一、图片的四则运算 1. 加法运算 通过使用API add来执行图像的加法运算 cv2.add&#xff08;src1&#xff0c; src2&#xff09;需要再其中传入两张图片。 图片就是矩阵&#xff0c;图片的加法运算就是矩阵的加法运算。 因此加法运算中要求两张图的shape必须是相同的。 首…

【vue/uniapp】使用 uni.chooseImage 和 uni.uploadFile 实现图片上传(包含样式,可以解决手机上无法上传的问题)

引入&#xff1a; 之前写过一篇关于 uview 1.x 版本上传照片 的文章&#xff0c;但是发现如果是在微信小程序的项目中嵌入 h5 的模块&#xff0c;这个 h5 的项目使用 u-upload 的话&#xff0c;图片上传功能在电脑上正常&#xff0c;但是在手机的小程序上测试就不会生效&#x…

C# windows服务程序开机自启动exe程序

我们使用传统的Process.Start(".exe")启动进程会遇到无法打开UI界面的问题&#xff0c;尤其是我们需要进行开启自启动程序设置时出现诸多问题&#xff0c;于是我们就想到采用windows服务开机自启动来创建启动一个新的exe程序&#xff0c;并且是显式运行。 首先是打开…

19、BLIP-2

简介 github 通过利用预训练的视觉模型和语言模型来提升多模态效果和降低训练成本&#xff0c;预训练的视觉模型能够提供高质量的视觉表征&#xff0c;预训练的语言模型则提供了强大的语言生成能力。 实现过程 为了弥合模态差距&#xff0c;提出了一个分两个阶段预训练的 Qu…

华为端口隔离高级用法经典案例

最终效果&#xff1a; pc4不能ping通pc5&#xff0c;pc5能ping通pc4 pc1不能和pc2、pc3通&#xff0c;但pc2和pc3能互通 vlan batch 2 interface Vlanif1 ip address 10.0.0.254 255.255.255.0 interface Vlanif2 ip address 192.168.2.1 255.255.255.0 interface MEth0/0/1 i…

神经网络:经典模型热门模型

在这里插入代码片【一】目标检测中IOU的相关概念与计算 IoU&#xff08;Intersection over Union&#xff09;即交并比&#xff0c;是目标检测任务中一个重要的模块&#xff0c;其是GT bbox与pred bbox交集的面积 / 二者并集的面积。 下面我们用坐标&#xff08;top&#xff0…

Windows定时重启Tomcat

项目场景&#xff1a; 系统&#xff1a;Windows 7 Tomcat&#xff1a;apache-tomcat-8.0.5 JDK&#xff1a;1.8 问题描述 最近项目的Tomcat隔一段时间就假死&#xff0c;最后想到的解决方式就是&#xff1a;每天凌晨1点重启tomact。 解决方案&#xff1a; 使用Windows系统…

基于SpringBoot的旅游网站

目录 前言 开发环境以及工具 项目功能介绍 用户端&#xff1a; 管理端&#xff1a; 详细设计 用户端首页 登录页面 管理端页面 源码获取 前言 本项目是一个基于IDEA和Java语言开发基于SpringBoot的旅游网站。应用包含管理端和用户端等多个功能模块。 改革开放以来&am…

MatrixOne 1.1.0 Release

我们非常高兴地宣布&#xff1a; MatrixOne内核1.1.0版本 正式发布啦&#xff01; 项目文档网站 https://docs.matrixorigin.cn MatrixOne是一款分布式超融合异构数据库&#xff0c;MatrixOne旨在提供一个云原生、高性能、高弹性、高度兼容MySQL的HSTAP数据库&#xff0c;让…

【数据挖掘】基于 LightGBM 的系统访问风险识别(附源码)

基于 LightGBM 的系统访问风险识别 文章目录 基于 LightGBM 的系统访问风险识别一、课题来源二、任务描述三、课题背景四、数据获取分析及说明&#xff08;1&#xff09;登录https://www.datafountain.cn并获取相关数据&#xff08;2&#xff09;数据集文件说明&#xff08;3&a…

Cytoscape 3.10安装包下载及安装教程

Cytoscape3.10下载链接&#xff1a;https://docs.qq.com/doc/DUkpuR0RVU0JVWkFP 1、选中下载好的安装包&#xff0c;右键选择解压到“Cytoscape 3.10”文件夹 2、双击打开“Cytoscape_3_10_0_windows_64bit.exe” 3.点击“Download”&#xff0c;请耐心等待“Java”完成 4、点击…

使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c

文章目录 前言一、前期准备1、所需文件2、编译环境 二、创建工程三、解决编译报错四、测试 ffmpeg.c 前言 本文使用官方发布的 SDK 开发包来亲手编译 ffmpeg.c 文件&#xff0c;编译成功后可以对其内部的源码按照我们的需求进行修改&#xff0c;为后面的转码器的开发做个铺垫。…

MySQL四大引擎,数据库管理,数据表管理,数据库账号管理

MySQL四大引擎 InnoDB InnoDB引擎是MySQL默认的存储引擎。它支持事务和行级锁定&#xff0c;并具有高并发性和数据完整性保护的特性。InnoDB适用于具有复杂查询和高并发读写操作的应用程序。MyISAM InnoDB引擎特点和优势 事务支持&#xff1a;InnoDB支持ACID&#xff08;原子…

搭建宠物寄养小程序流程

近日&#xff0c;一地宠物寄养需求旺盛&#xff0c;元旦满房&#xff0c;春节几近饱和&#xff0c;一窝难求。随着市场需求的增长&#xff0c;对于很多宠物行业的商家&#xff0c;可以考虑开展宠物寄养服务&#xff0c;尤其是节假日的宠物寄养需求会更高。因此&#xff0c;商家…

IoTDB 集群部署——windows

本文的测试环境为window server2016&#xff0c;版本包为1.1.0&#xff0c;jdk版本为1.8 首先下载IoTDB版本包&#xff0c;链接地址如下 https://archive.apache.org/dist/iotdb/1.1.0/apache-iotdb-1.1.0-all-bin.zip 本次部署将使用1个ConfigNode 和3个DataNode模式&#…

计算机网络—网络搭建NAT内外网映射

使用Windows Server 2003 网络拓扑 Router 外网&#xff1a;NAT IP 网段 192.168.17.0/24内网&#xff1a;仅主机模式 IP 172.16.29.4 Client1&#xff1a;仅主机模式 IP 172.16.29.2 网关 172.16.29.1 Client2&#xff1a;仅主机模式 IP 172.16.29.3 网关 172.16.29.1…

Python武器库开发-武器库篇之代理池配置(四十)

武器库篇之代理池配置(四十) 我们在渗透的过程中&#xff0c;是必须要挂代理的&#xff0c;相信为何要挂代理的原因&#xff0c;各位也是非常的明白的&#xff0c;这里就不多讲了。关于如何挂代理和购买代理大家可以去看内网隧道代理技术&#xff08;十&#xff09;之公网资产…

【Java】实验三 抽象类与接口

实验名称 实验三 抽象类与接口 实验目的 1. 深刻理解抽象类、接口的意义。 2. 熟练掌握抽象类和接口的定义、继承抽象类以及实现接口的方法。 3. 理解和掌握多态。 实验内容 &#xff08;一&#xff09;抽象类实验&#xff1a;项目源码中新建一个ahpu.shape的包&a…

pytest-yaml 测试平台-4.生成allure报告,报告反馈企业微信、钉钉、飞书通知

前言 定时任务执行完成后生成可视化allure报告&#xff0c;并把结果发到企业微信&#xff0c;钉钉&#xff0c;飞书通知群里。 生成allure报告 添加定时任务 执行完成后生成allure报告 查看报告详情 报告会显示详细的request 和 response 详细信息 也可以查看log日志 …

计算机基础面试题 |08.精选计算机基础面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…