23黑马vue

news2025/3/1 11:04:24

1、Vue概述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue-快速入门</title>
    <!-- 1、引入vue.js -->
    <script src="./js/vue.js"></script>
</head>
<body>
    <!-- 3、定义视图:负责展示 -->
    <div id="app">
        <input type="text" v-model="message"><!-- v-model:绑定一个数据模型。v-model叫指令! -->
        {{message}}<!-- 直接在页面展示message数据模型,{{message}}:插值表达式 -->
    </div>
</body>
<script>
    // 2、定义vue对象
    new Vue({
        el: "#app",/* el代表Vue所接管的数据区域 */
        data:{/* data是定义数据模型 */
            message:"Hello Vue"
        }
    })

</script>
</html>

image-20230411221855217

输入框和{{message}}使用的都是同一个数据模型,由于vue的双向绑定,所以输入框的视图发生变化,就会影响数据模型的变化,数据模型的变化会影响视图数据的变化。所以输入框输入什么,后面也跟着显示什么数据。

image-20230411222306359

2、Vue-常用指令

1、v-bind和v-model

image-20230411222635497

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="app">
        <a v-bind:href="url">链接1</a>
    	<!-- v-bind:href可以简写为:href -->
        <a :href="url">链接2</a>
        <input type="text" v-model="url">
    </div>
</body>
<script>
    new Vue({
        el: "#app",
        data:{
            url:"https://www.baidu.com"
        }
    })
</script>
</html>

image-20230411225703977

v-model:表单元素有input、textarea、select

2、v-on

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="app">
        <button v-on:click="handle()">按钮1</button>
        <button @click="handle()">按钮2</button>
    </div>
</body>
<script>
    new Vue({
        //el、data、methods都是对象的属性,对象用{}
        el: "#app",//vue接管区域
        data:{

        },
        methods:{
            handle:function(){
                alert("你点了我一下....");
            }
        }
    })
</script>
</html>

image-20230411230440539

3、v-if&v-show&v-for

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="js/vue.js"></script>
    <title>v-if&v-show&v-for</title>
</head>
<body>
    <div id="app">
        <input type="text" v-model="age">
        年龄:{{age}},经判定为:
        <span v-if="age <= 35">年轻人</span>
        <span v-else-if="age > 35 && age < 60">中年人</span>
        <span v-else>老年人</span>
        <br/>
        <input type="text" v-model="age">
        年龄:{{age}},经判定为:
        <span v-show="age <= 35">年轻人</span>
        <span v-show="age > 35 && age < 60">中年人</span>
        <span v-show="age >= 60">老年人</span>
    </div>


</body>
<script>
    new Vue({
        el : "#app",
        data:{
            age:20
        },
        methods:{
        }
    })
</script>
</html>

image-20230413232840322

image-20230413233749483

可以看到,用v-show时,三个span标签都会被渲染,但是另外两个的display为none。

v-for

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="app">
        <div v-for="(addr,index) in addrs">
            <table border="1">
                <tr>
                    <td>{{index+1}}位</td>
                    <td>{{addr}}</td>
                </tr>
            </table>
        </div>
    </div>
</body>
<script>
    new Vue({
        el : "#app",
        data:{
            addrs:['北京','上海','山东','济南']
        },
        methods:{
            
        }
    })
</script>
</html>

image-20230413233954435

4、v-指令-案例

image-20230413235831104

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- border="1" cellspacing="0" width="60%" -->
        <table border="1" cellspacing="0" width="60%">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>性别</th>
                <th>成绩</th>
                <th>等级</th>
            </tr>
            <tr  v-for="(userifm,index) in user">
                <td>{{index+1}}</td>
                <td>{{userifm.name}}</td>
                <td>{{userifm.age}}</td>
                <td v-if="userifm.gender==1"></td>
                <td v-if="userifm.gender==2"></td>
                <td>{{userifm.score}}</td>
                <td v-if="userifm.score >=85 ">优秀</td>
                <td v-else-if="userifm.score >=60 ">及格</td>
                <td v-else style="color: red;">不及格</td>
            </tr>
        </table>
    </div>
    
</body>
<script>
    new Vue({
        el: "#app",
        data:{
            user:[{
                name:"Tom",
                age:20,
                gender:1,
                score:78
            },{
                name:"Rose",
                age:18,
                gender:2,
                score:86
            },{
                name:"Jerry",
                age:26,
                gender:1,
                score:90
            },{
                name:"Jim",
                age:22,
                gender:1,
                score:59
            }]
        },
        methods:{
            
        }
    })
</script>
</html>

image-20230414002208000

5、vue- 生命周期

image-20230414002509010

image-20230414002838099

mounted方法主要就是用来发送请求到服务端来获取或者加载数据。

小结

image-20230414003047672

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

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

相关文章

铁路轨道不平顺数据分析与预测

铁路轨道不平顺数据分析与预测 1.引言 铁路轨道作为铁行车的基础设施&#xff0c;是铁路线路的重要组成部分。随着经济和交通运输业的发展&#xff0c;我国的铁路运输正朝着高速和重载方向迅速发展&#xff0c;与此同时&#xff0c;轨道结构承受来自列车荷载、运行速度的冲击…

Elasticsearch 学习+SpringBoot实战教程(三)

需要学习基础的可参照这两文章 Elasticsearch 学习SpringBoot实战教程&#xff08;一&#xff09; Elasticsearch 学习SpringBoot实战教程&#xff08;一&#xff09;_桂亭亭的博客-CSDN博客 Elasticsearch 学习SpringBoot实战教程&#xff08;二&#xff09; Elasticsearch …

QT笔记——QtXlsx操作Execl

使用第三方库QtXlsx来操作execl 环境&#xff1a;vs2019 qt5.12.2 第一步&#xff1a; 我们需要找到对应的下载QtXlsx的第三方库的下载路径&#xff1a; QtXlsx下载 第二步&#xff1a; 编译我们的QtXlsx&#xff0c;看了网上有很多中的例子&#xff0c;我这边暂时只举例 vsqt…

一个评测模型+10个问题,摸清盘古、通义千问、文心一言、ChatGPT的“家底”!...

‍数据智能产业创新服务媒体——聚焦数智 改变商业毫无疑问&#xff0c;全球已经在进行大模型的军备竞赛了&#xff0c;“有头有脸”的科技巨头都不会缺席。昨天阿里巴巴内测了通义千问&#xff0c;今天华为公布了盘古大模型的最新进展。不久前百度公布了文心一言、360也公布了…

技术经济学(刘秋华)(第三版)——第三章 经济型评价的基本要素

第三章 经济型评价的基本要素 技术经济分析的基本原理包括技术经济比较原理和资金报酬原理。技术经济比较原理又包括满足需要的可比原理、总消耗费用的可比原理、价格指标的可比原理和时间因素的可比原理四个方面。这些原理的作用在于确保技术方案的经济性和可行性。 其中&am…

ChatGPT批量翻译-ChatGPT批量生成多国语言

ChatGPT翻译的准吗 ChatGPT是一种基于Transformer架构的自然语言处理技术&#xff0c;其翻译准确性取决于所训练的模型和数据集的质量。在特定的语料库和训练数据下&#xff0c;ChatGPT可以实现一定程度的准确翻译。但是&#xff0c;与人工翻译相比&#xff0c;ChatGPT的翻译质…

【Deep Learning】CNN卷积神经网络—卷积

卷积 文章目录卷积Quickstart一&#xff0c;计算机视觉&#xff08;Computer vision&#xff09;二&#xff0c;边缘检测&#xff08;Edge detection example&#xff09;-2.1 卷积操作过程&#xff1a;三&#xff0c;边缘检测的更多知识&#xff08;More edge detection&#…

4月想跳槽的同学,没有更好的选择,可以去美团

在美团干了半年&#xff0c;说一下自己的感受&#xff0c;美团是一家福利中等&#xff0c;工资待遇中上&#xff0c;高层管理团队强大&#xff0c;加班强度一般&#xff0c;技术不错&#xff0c;办公环境一般&#xff0c;工作氛围中上&#xff0c;部门差距之间工作体验差距巨大…

SpringBoot-数据访问-整合MyBatis-配置版

引入依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version> </dependency> ConditionalOnSingleCandidate(DataSource.class) 单一数…

视图的使用

为什么引入视图&#xff08;Views&#xff09; 如果您读过其他类似的书&#xff0c;可能会看到这些书在介绍视图时列举了许多引入视图的原因。其中认为最重要的原因是维护数据的独立性。那么什么是数据的独立性呢&#xff1f; 早期信息系统的设计与开发多采用模块驱动方式&am…

NumPy 秘籍中文第二版:七、性能分析和调试

原文&#xff1a;NumPy Cookbook - Second Edition 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 在本章中&#xff0c;我们将介绍以下秘籍&#xff1a; 使用timeit进行性能分析使用 IPython 进行分析安装line_profiler使用line_profiler分析代码具有cProfile扩展名…

【分布式事务AT模式 本地部署Seata服务】分布式事务框架Seata详细讲解

前言 这篇文章我会从0到1详细搭建分布式事务框架seata的使用&#xff0c;那么我们首先要先了解一下什么是分布式事务&#xff1f; 本篇文章是本地启动seata服务并且注册到nacos中&#xff0c;在SpringCloud中整合seata框架请转移下方连接 点我跳转SpringCloud整合seata教程&…

【网络原理】TCP/IP协议(续)

目录 &#x1f525;网络层重点协议&#xff08;IP 协议&#xff09; 一、地址管理 1.如何解决上述地址不够用问题&#xff1f; 2.NAT 机制 2.1 NAPT 2.2 在 NAT 背景下如何通信&#xff1f; 3.IPv6 4.IP地址 4.1 ABCDE类 4.2 子网掩码 4.3 特殊的 IP 地址 二、路由…

传统汽车保险丝盒与智能保险丝盒Efuse的应用

一、传统汽车保险丝盒 1、概述 电气盒是用于提供车辆电源分配和回路保护的电气枢纽。电气盒能简化线束的安装和整车的装配过程&#xff0c;改善系统的整体质量水平&#xff0c;降低成本和减少散乱。 一般传统电气盒分为PFB&#xff08;预保险丝盒&#xff09;&#xff0c;UE…

公网使用SSH远程登录macOS服务器【内网穿透】

文章目录前言1. macOS打开远程登录2. 局域网内测试ssh远程3. 公网ssh远程连接macOS3.1 macOS安装配置cpolar3.2 获取ssh隧道公网地址3.3 测试公网ssh远程连接macOS4. 配置公网固定TCP地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址5. 使用固定TCP端口地址ssh远程前言…

Nacos共享配置

本文介绍一下Nacos作为配置中心时&#xff0c;如何读取共享配置 我的环境 Windows10JDK8SpringCloud&#xff1a;Finchley.RELEASESpringBoot&#xff1a;2.0.4.RELEASEspring-cloud-alibaba-dependencies&#xff1a;0.2.2.RELEASENacos-server&#xff1a;1.0.1 本文的项目…

去互联网大厂卷还是去上升期创业型公司offer二选一?你怎么抉择?

上升期的创业型公司 vs 大厂 如何抉择&#xff1f; 最近总有一些粉丝特别“凡尔赛”的发几个 offer 问我选择哪个&#xff1f;其中比较典型的一个问题就是&#xff1a; “一个是处于上升期的创业型公司 &#xff0c;一个行业大厂&#xff0c;薪资待遇差不多&#xff0c;到底该…

elastissearch——排序结果处理

排序 elasticsearch支持对搜索结果排序&#xff0c;默认是根据相关度算分&#xff08;_score&#xff09;来排序。可以排序字段类型有&#xff1a;keyword类型、数值类型、地理坐标类型、日期类型等。 GET /hotel/_search { "query": { "match_all"…

DC插装式流量阀压力阀

Cartridge Valves 电磁阀 止回阀 运动控制阀 流量控制阀 溢流阀 压力控制阀 顺序阀 梭阀 方向阀 配件 Zero Profile Valves 止回阀 运动控制阀 流量控制阀 溢流阀 梭阀 In-Line Valves 止回阀和梭阀 方向阀 配件 微型系列 AB20S APIDC-30S C10B C10S C10S…

opengl 坐标系

概述 为了将坐标从一个坐标系统转换成另一个坐标&#xff0c;我们需要经历几个变换&#xff08;1&#xff1a;模型 2&#xff1a;观察 3&#xff1a;投影&#xff09;我们的顶点坐标起始于局部坐标&#xff0c;然后变成世界坐标&#xff0c;观察坐标&#xff0c;剪裁坐标 最后以…