【VUe】简略学习 vue

news2024/12/24 3:34:27

Vue 是一套用于构建用户界面的渐进式框架。要想使用这个框架,就需要先在页面中引用:

在这里插入图片描述

如何使用:

在这里插入图片描述
来到控制台:

在这里插入图片描述

数据绑定

若要在标签里替换,就需要使用 v-bind 指令了:
在标签里(尖括号里)需要使用指令,v-xxx,如果使用 {{}},则不会替换,{{}} 是使用在标签外的

在这里插入图片描述
在这里插入图片描述

单向和双向绑定

在这里插入图片描述

事件

可以用 v-on 来监听事件:

在这里插入图片描述

事件修饰符

Vue 中事件修饰符(常用):
.prevent:阻止默认事件
.stop:阻止事件冒泡
.once:只触发一次事件
可以连续写多个修饰符。

在这里插入图片描述

键盘事件

Vue 中常用的按键别名:
回车—enter,删除—delete,退出—esc,空格—space,换行—tab,上—up,下—down,左—left,右—right

在这里插入图片描述

--------------------------------------------------------------------------------------------------------------------------------------------
现有一个需求,在输入框中输入信息,最后合并显示出来。
如果需求变换,例如在姓名输入框中,无论用户输入几个字,都取前三个,输入的字母要大写等等。
那在代码中就要 {{name.slice(0,3).toLocaleUpperCase()}},显得很臃肿。

在这里插入图片描述

此时我们可以使用下面这种形式:

在这里插入图片描述
还可以使用计算属性

这里需要手动添加 get 方法,当使用 Message 时,get 就会被调用,如需修改 Message,也可添加 set 方法。

在这里插入图片描述

当只读取而不修改时可以简写成:

<div id="root">
    姓名:<input type="text" v-model="name"><br /><br />

    学校:<input type="text" v-model="school"><br /><br />
    信息:<span>{{Message}}</span>
</div>

<script>
	new Vue({
	    el: "#root",
	    data: {
	        name: '张',
	        school: '光明'
	    },
	    // 简写
	    computed: {
	        Message() {
	            return this.name + "--" + this.school
	        }
	    }
	})
</script>

样式绑定

在这里插入图片描述

v-if

在这里插入图片描述

v-for

key 为对象的标识,一般使用数据中的唯一标识来作为 key,若仅在数组后插入数据,没有打乱数据顺序,也可使用 index 索引作为 key,如果不手动设置 key,默认以 索引当作 key。

在这里插入图片描述

列表过滤

在输入框中输入关键字来查询列表中包含该关键字的数据:

<div id="root">
    <!-- keyword 数据绑定,当用户在输入框输入数据时,keyword就等于用户输入的数据 -->
    <input type="text" placeholder="请输入" v-model="keyword">
    <ul>
        <!-- 在已过滤的数组中遍历 -->
        <li v-for="p in filPersons">{{p}}</li>
    </ul>
</div>


<script>
    new Vue({
        el: "#root",
        data: {
            keyword: '',
            persons: ["张三", "李四", "王五", "王五五", "周三"],
            filPersons: []
        },
        // 监听 keyword,一旦被改动,执行handler,返回被过滤的数组
        watch: {
            keyword: {
                // 立即执行handler,还没有输入关键字,所以已过滤数组就等于初始数组
                immediate: true,
                handler(val) {
                    this.filPersons = this.persons.filter((p) => {
                        // 没有输入字符,就是空字符,会返回0,也就是'abf'.indexOf('')返回0
                        // 判断是否包含该字符,返回过滤后的数组
                        return p.indexOf(val) !== -1
                    })
                }
            }
        }
    })
</script>

内置指令

<div id="root">
    <h3>{{name}}</h3>
    <!-- 以纯文本方式读取 name -->
    <h3 v-text="name"></h3>

    <!-- 以纯文本方式读取msg -->
    <h3 v-text="msg"></h3>

    <!-- 以html的方式读取msg -->
    <h3 v-html="msg"></h3>

    <div>=================</div>

    <!-- v-once 读取n一次,不管n后面变不变 -->
    <h3 v-once>初始值:{{n}}</h3>

    <!-- n会随着加一 -->
    <h3 >当前值:{{n}}</h3>
    <button @click="n++">点击加 1</button>
    
</div>

<script>
    new Vue({
        el: "#root",
        data: {
            name:'张三',
            msg:'<a href="https://www.baidu.com">点击跳转百度</a>',
            n:1
        },

    })
</script>

在这里插入图片描述

组件

组件,可以使得一段 “代码” 在一个或多个页面中被重复使用,就像调取一个函数一样。例如一个网站的头部和底部,基本上都相同,此时就不用复制相同的代码到不同的 html 文件中来完成这个效果,只需在相同的地方使用我们的组件即可。
使用组件需要三个步骤:1. 创建组件。2. 定义组件。3. 编写组件标签。

<body>

    <div id="root">
        //3. 编写组件标签
        <school></school>
        <hr>
        <student></student>
    </div>

    <script>
        //1. 创建 school 组件
        const school = Vue.extend({
            template: `
            <div>
                <h3>学校名称:{{name}}</h3>
                <h3>学校地址:{{address}}</h3>
            </div>
            `,
            data() {
                return {
                    name: '光明学校',
                    address: '北京'
                }
            }
        })
        //1. 创建 student 组件
        const student = Vue.extend({
            template: `
            <div>
                <h3>学生姓名:{{name}}</h3>
                <h3>学生年龄:{{age}}</h3>
            </div>
            `,
            data() {
                return {
                    name: '张三',
                    age: 18
                }
            }
        })

        new Vue({
            el: "#root",
            //2. 注册组件
            components: {
                school:school,
                student:student,
            }

        })
    </script>
</body>

在这里插入图片描述

创建 vue 脚手架

其实就是为了更方便的使用我们创建的 vue 文件

1. 先设置镜像源:
npm config set registry https://registry.npm.taobao.org
查看是否设置成功:
npm config get registry
在这里插入图片描述

2. 进行安装:npm install -g @vue/cli
执行完成后,关闭 cmd 窗口,再次打开,输入 vue 查看是否安装成功。
在这里插入图片描述

3. 切换到要创建项目的目录,执行命令:
vue create test test 为项目名。
在这里插入图片描述

输入 vue create test 后,会出现下图
在这里插入图片描述
如图创建成功:
在这里插入图片描述
先进入项目,cd test
再执行命令,npm run serve
在这里插入图片描述
在浏览器输入
在这里插入图片描述

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

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

相关文章

jpg 转 ico 强大的图片处理工具 imageMagick

点击下载 windows, mac os, linux版本 GitHub - ImageMagick/ImageMagick: &#x1f9d9;‍♂️ ImageMagick 7 1. windows程序 链接&#xff1a;https://pan.baidu.com/s/1wZLqpcytpCVAl52pIrBBEw 提取码&#xff1a;hbfy 一直点击下一步安装 2. 然后 winr键 打开cmd 然…

软文推广怎么做效果更好?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 软文推广想要效果好&#xff0c;你可以这么做&#xff1a; 1. 选对平台很重要 首先&#xff0c;你得找准你的目标受众喜欢去哪&#xff0c;然后就去那儿发软文。别盲目乱投&#xff0c;…

【计算机网络】1.5 分组交换网中的时延、丢包和吞吐量

A.分组交换网中的时延 当分组从一个节点沿着路径到后一节点时&#xff0c;该分组在沿途的各个节点经受了几种不同类型的时延。 时延的类型 处理时延 - d n o d a l d_{nodal} dnodal​ 处理时延包括以下部分—— a. 检查分组首部 b. 决定分组导向 排队时延 - d p r o c d_{…

原生JavaScript,根据后端返回扁平JSON动态【动态列头、动态数据】生成表格数据

前期准备&#xff1a; JQ下载地址&#xff1a; https://jquery.com/ <!DOCTYPE html> <html><head><meta charset"utf-8"><title>JSON动态生成表格数据,动态列头拼接</title><style>table {width: 800px;text-align: cen…

2.1 塑性力学——应力分析基本概念

个人专栏—塑性力学 1.1 塑性力学基本概念 塑性力学基本概念 1.2 弹塑性材料的三杆桁架分析 弹塑性材料的三杆桁架分析 1.3 加载路径对桁架的影响 加载路径对桁架的影响 目录 个人专栏—塑性力学 应力 \color{blue}应力 应力&#xff1a;内力的分布集度 单元体 \color{blue}单…

C++初学

1>思维导图 2>试编程 提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C风格字符串完成 #include <iostream> #include<string.h> using namespace std;int main() {string str;cout <<…

选择短信群发平台要小心陷阱

你知道短信群发平台也有陷阱吗&#xff1f;选择短信群发平台很重要&#xff0c;今天小编就为您介绍短信群发平台有哪些陷阱&#xff1f; 这几点你要注意了&#xff1a; 1、扣量&#xff0c;有些不靠谱的短信群发平台开始以低价诱惑“客户”&#xff0c;但是发送过程中就暗中扣…

不锈钢电阻器-栅极电阻器 - 为什么要使用它们呢?

常规 如果你看一个典型的吉他放大器的原理图&#xff0c;你会注意到有一个电阻器与第一个电子管的栅极串联&#xff0c;通常在68K左右&#xff0c;还有一个电阻器与功率管的栅极串联&#xff0c;通常为1.5K或5.6K&#xff0c;你可能会偶尔看到非常大的电阻&#xff0c; 例如 4…

学习JavaEE日子 Day24 TreeSet,内置比较器,外置比较器,HashMap

Day24 TreeSet 1.TreeSet 1.1 TreeSet的使用 注意&#xff1a;TreeSet的使用和HashSet一样 public class Test01 {public static void main(String[] args) {//创建TreeSet集合的对象TreeSet<String> set new TreeSet<>();//添加元素set.add("麻生希"…

Excel生成 chart 混合图表

在开发中有这样一个需求&#xff0c;邮件预警的时候&#xff0c;要求邮件主体内容是一个Chart 图表&#xff08;生成后的img&#xff09;&#xff0c;邮件需要有附件&#xff0c;且附件是Excel列表加图表&#xff0c;图表类型是混合图。 回顾&#xff1a;在之前一篇讲到如何使用…

Java中 常见的开源图库介绍

阅读本文之前请参阅------Java中 图的基础知识介绍 在 Java 中&#xff0c;有几种流行的开源图库&#xff0c;它们提供了丰富的图算法和高级操作&#xff0c;可以帮助开发者更高效地处理图相关的问题。以下是几种常见的 Java 图库及其特点和区别&#xff1a; JGraphT …

【C++】---string的OJ题

【C】---string的OJ题 1.字符串转整形数字&#xff08;重要&#xff09;&#xff08;1&#xff09;题目描述&#xff08;2&#xff09;思路展示&#xff08;3&#xff09;代码实现 2.字符串相加&#xff08;重要&#xff09;&#xff08;1&#xff09;题目描述&#xff08;2&am…

vim使用命令

1、 复制粘贴 复制一行: yy p vim 1.txt 进入编辑模式&#xff0c;在需要复制的行先按两下y键&#xff0c;再按p就完成复制复制2行&#xff1a; 2yy p 复制n行&#xff1a; nyy p 2、 删除 删除一行: dd删除2行: 2dd删除n行: ndd 3、 撤销 撤销上一步操作&#xff1a;…

【三、接口协议与抓包】使用ApiPost进行接口测试

你好&#xff0c;我是山茶&#xff0c;一个探索AI 测试的程序员。 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相…

前端javascript Promise使用方法详解(非常全面)

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属的专栏&#xff1a;前端零基础教学&#xff0c;实战进阶 景天的主页&#xff1a;景天科技苑 文章目录 Promise对象&#xff08;1&#xff09;…

鸿蒙开发:从入门到精通的全方位学习指南

随着华为鸿蒙HarmonyOS生态系统的迅速扩展&#xff0c;越来越多的开发者渴望深入了解并掌握这一前沿技术。本文旨在为鸿蒙开发新手提供一份详尽且实用的学习教程&#xff0c;助您从零开始&#xff0c;逐步迈向鸿蒙开发的巅峰。 一、鸿蒙开发环境搭建 DevEco Studio安装&#x…

12---风扇电路设计

视频链接 风扇硬件电路设计01_哔哩哔哩_bilibili 风扇电路设计 1、风扇简介 电脑风扇又称为散热风扇&#xff0c;一般用于散热。提供给散热器和机箱使用。市面上一般的散热风扇尺寸大小由直径2.5cm到30cm都有&#xff0c;厚度由6mm到76mm都有&#xff0c;而根据不同运作要求…

美摄科技对抗网络数字人解决方案

在数字化浪潮的推动下&#xff0c;企业对于高效、创新且具备高度真实感的数字化解决方案的需求日益迫切。美摄科技凭借其在人工智能和计算机视觉领域的深厚积累&#xff0c;推出了一款全新的对抗网络数字人解决方案&#xff0c;该方案能够为企业构建出表情和动作都极为逼真的数…

ssm+vue的高校课程评价系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的高校课程评价系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

SSL---VPN

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.SSL-VPN概述 SLL VPN是一种基于HTTPS&#xff08;即支持SSL的HTTP协议&#xff09;的远程安全接入技术。它充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制&#…