Vue学习笔记(一)

1. 绑定事件按按键修饰符

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><title>绑定事件和按键修饰符</title>
</head><body>
<div id="app">{{ person }}<hr/><button v-on:click="grow">老了一岁</button>
</div>
<script type="module">import { createApp, reactive } from './vue.esm-browser.js'createApp({setup() {const person = reactive({name: "ivan",age: 36});const grow = ()=>{person.age += 1;return person;}; return {person,grow // 函数对象也是需要返回的};}}).mount("#app");</script>
</body></html>

点击按键“老了一岁”,age递增1,运行结果如下:
在这里插入图片描述
2. 显示和隐藏

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>显示和隐藏</title>
</head>
<body><div id="app"><!-- 条件渲染 -->{{ web }}<hr/><button v-on:click="toggle">切换显示状态</button><p v-show="web.show">This is a demo.</p><hr/><p v-if="web.show">This is a demo.</p><hr/><p v-if="web.user > 1000">This is a excellent website .</p><hr/><p v-else-if="web.user <= 1000">This is a new website.</p></div><script type="module">import { createApp, reactive } from "./vue.esm-browser.js"createApp({setup() {const web = reactive({show: true,user: 1000});const toggle = ()=> {web.show = !web.show;};return {web,toggle};}}).mount("#app")</script>
</body>
</html>

点击“切换显示状态”,运行结果:
在这里插入图片描述
3. 动态属性绑定

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>动态属性绑定</title><style>.textColor{color: red;}</style>
</head>
<body><div id="app"><h3>v-bind:value="demo.com</h3><input type="text" v-bind:value="web.url"><h3>v-bind: src="web.img"</h3><img v-bind:src="web.img"/><h3>v-bind: class="textColor"</h3><b v-bind:class="{textColor:web.fontStatus}">demo</b></div><script type="module">import { createApp, reactive } from './vue.esm-browser.js'createApp( {setup(){const web = reactive({url: "cxwn.demo.com",img: "demo.jpg",fontStatus: true});return {web};}}).mount("#app");</script>
</body>
</html>

运行结果:
在这里插入图片描述
4. 遍历数组和对象

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>遍历数组或对象</title>
</head>
<body><div id="app"><ul><li v-if="demo.key=`hobby`">{{ demo.hobby[0] }}</li></ul><hr/><ul><li v-for="(value, key, index) of demo">key: {{ key }} => value: {{ value }} => {{ index }}</li></ul><hr/><ul><li v-for="(value, index) of demo.course" :title="value.name" :key="value.id"><!--动态属性title和key主要左右是用于提升性能-->index: {{ index }} => value.id: {{ value.id }} => value.name: {{ value.name }}</li></ul><hr/><ul><!--标签可以用来包装多个元素或者多行代码, 不会在页面中渲染--><template v-for="(value, key) of demo.hobby"><li v-if="key == 2">key: {{ key }} => value: {{ value }}</li></template></ul></div><script type="module">import { createApp, reactive } from './vue.esm-browser.js';createApp({setup() {const demo = reactive({name: "ivan",age: 20,hobby: [ "basketball", "table tennis", "baseball", "swimming" ],course: [{id: 1, name: "math",score: 90},{id: 2, name: "Chinese",score: 95}]});return {demo};}}).mount("#app");</script>
</body>
</html>

5. 双向数据绑定

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>双向数据绑定</title>
</head>
<body><div id="app"><h2>文本框 {{ demo.text }}</h2><h2>单选框 {{ demo.radio }}</h2> <h2>复选框 {{ demo.checkbox }}</h2><h2>记住选择 {{ demo.remember }}</h2><h2>下拉列表 {{ demo.select }}</h2><hr/>单向数据绑定: <input type="text" :value="demo.text"/><hr/>单向数据绑定: <input type="text" v-model="demo.text"/><hr/><input type="radio" v-model="demo.radio" value="1"/>游泳<input type="radio" v-model="demo.radio" value="2"/>爬山<hr/><input type="checkbox" v-model="demo.checkbox" value="a"/>游泳<input type="checkbox" v-model="demo.checkbox" value="b"/>唱歌<input type="checkbox" v-model="demo.checkbox" value="c"/>徒步<hr/><input type="checkbox" v-model="demo.remember"/>记住选择<hr/><select v-model="demo.select"><option value="">请选择</option><option value="A">游泳</option><option value="B">徒步</option><option value="C">骑行</option></select></div><script type="module">import { createApp, reactive } from "./vue.esm-browser.js";createApp({setup() {const demo = reactive({text: "this is a demo.",radio:"",checkbox: [],remember: false,select: ""});return {demo}}}).mount("#app");</script>
</body>
</html>

运行结果:
在这里插入图片描述
6. v-model修饰符

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>v-model修饰符</title>
</head>
<div id="app">URL: {{ web.url }}<br/>Users: {{ web.user }}<br>实时渲染<input type="text" v-model="web.url"/><hr/>失去焦点或按下回车键之后开始渲染<input type="text" v-model.lazy="web.url"/><hr/><!--如果在数字前加其他类型,将不会发生变化-->输入框的值转换为数字类型<input type="text" v-model.number="web.user"/><hr/><!--如果在数字前加其他类型,将不会发生变化-->删除首尾空白字符串<input type="text" v-model.trim="web.url"/>
</div>
<body><script type="module">import { createApp,reactive } from "./vue.esm-browser.js";createApp({setup() {const web = reactive({url: "www.baidu.com",user: 0});return {web};}}).mount("#app");</script>
</body>
</html>

运行结果:
在这里插入图片描述
7. 渲染数据v-text和v-html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>渲染数据v-text和v-html</title>
</head>
<body><div id="app"><h3> {{ web.title }} </h3><h3 v-text="web.title"></h3><h3 v-html="web.url"></h3></div><script type="module">import { createApp, reactive } from './vue.esm-browser.js';createApp({setup(){const web = reactive({title: "This is a dmeo",url: "<i style='color:blue;'>www.baidu.com</i>"});return {web};}}).mount("#app");</script>
</body>
</html>

运行结果:
在这里插入图片描述
8. computed计算属性

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>computed计算属性</title>
</head><body><div id="app"><h3> add: {{ add() }} </h3><h3> add: {{ add() }} </h3><h3> sum: {{ sum }} </h3><h3> sum: {{ sum }} </h3><hr/>x: <input type="text" v-model.number="data.x"/><br/>y: <input type="text" v-model.number="data.y"/></div><script type="module">import { createApp, reactive, computed } from './vue.esm-browser.js';createApp({setup() {const data = reactive({x: 10,y: 20});let add = () => {console.log("add");return data.x + data.y;};const sum = computed(() => {console.log("sum");return data.x - data.y;});return {data,add,sum};}}).mount("#app");</script>
</body></html>

运行结果:
在这里插入图片描述

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

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

相关文章

【Linux】开始了解重定向

送给大家一句话&#xff1a; 人真正的名字是&#xff1a;欲望。所以你得知道&#xff0c;消灭恐惧最有效的办法&#xff0c;就是消灭欲望。 – 史铁生 《我与地坛》 开始了解重定向 1 前言2 重定向与缓冲区2.1 文件描述符分配规则2.2 重定向的现象2.3 重定向的理解2.4 缓冲区…

突破传统RAG限制!Adaptive-RAG实现高效复杂查询处理

参考文章&#xff1a;突破传统RAG限制&#xff01;Adaptive-RAG实现高效复杂查询处理 在人工智能领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的发展日新月异&#xff0c;它们在多种任务中展现出了卓越的性能。然而&#xff0c;尽管LLMs在处理问题时表现出色&…

MongoDB数据库转换为表格文件的Python实现

目录 一、引言 二、转换工具与库的选择 三、转换过程详解 安装必要的库 连接MongoDB数据库 查询并处理数据 将数据写入CSV文件 四、进阶技巧与注意事项 五、总结 一、引言 在当今大数据时代&#xff0c;数据的存储、处理与共享显得尤为重要。MongoDB作为一个面向文档…

如何更换网络IP地址,简单几步轻松搞定

在数字化日益普及的今天&#xff0c;网络IP地址作为设备在网络中的标识&#xff0c;扮演着极其重要的角色。有时&#xff0c;出于安全考虑、网络布局调整或解决特定问题的需要&#xff0c;我们可能需要更换网络IP地址。虎观代理将详细介绍如何更换网络IP地址&#xff0c;帮助用…

Android 输入法框架

输入法属于输入系统的一部分&#xff0c;区别于输入系统只能向系统产生时间&#xff0c;输入法能向系统输入具体的内容&#xff0c;下面来认识输入法的大体框架&#xff0c;以下内容参考清华大学出版社出版的《Android图形显示系统》。 输入法框架包含3个组件&#xff0c;各组件…

k8s集群node节点状态为Not Ready

目录 一、Node节点Not Ready状态的可能原因 二、排查node节点状态为Not Ready的原因 一、Node节点Not Ready状态的可能原因 node节点状态为Not Ready可能的原因有&#xff1a; 1.网络插件出问题 有过安装经验的小伙伴应该很熟悉未安装网络插件的情况下node节点在集群中的状…

基于java+springboot+vue实现的西安旅游系统(文末源码+Lw)23-265

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统西安旅游系统信息管理难度大&#xff0c;容错率低&#…

3-1 AUTOSAR RTE概述

返回总目录->返回总目录<- 一、概念 1.1 虚拟总线VFB 若从整车级别去看待整车上所有的功能模块,即软件组件的架构,它们之间的通信形式主要涉及以下两种: 在单个ECU内部的通信(Intra-ECU Communication);在多个ECU之间的通信(Inter-ECU Communication)。 …

java实现TCP交互

服务器端 import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.PriorityQueue; import java.util.Scanner;public class TCP_Serv…

【嵌入式学习】ARM day04.11

一、思维导图 二、练习 实现三个灯闪烁 汇编代码 .text .global _start _start: 使能GPIOE和F时钟LDR r0,0x50000A28LDR r1,[R0]ORR R1,R1,#(0X3<<4)STR R1,[R0]配置GPIOE和F的MODER寄存器LDR r0,0x50006000 GPIOELDR R1,0X50007000 G…

golangci-lint 报错

File is not gci-ed with --skip-generated -s standard,default (gci) golangci-lint 报错上面的错解决办法&#xff1a; 1. 文件换行需要换成"LF" 而不是"CRLF" ---->>> 我用的goland IDE&#xff0c;随便在这个文件删除一个空行&#xff…

Docker部署SpringBoot+Vue前后端分离项目

文章目录 1. 安装Docker1. 1 卸载旧版Docker1.2 配置yum仓库1.3 安装Docker1.4 添加自启动配置1.5 配置阿里云镜像加速1.6 测试 2. 安装Nginx2.1 拉取镜像2.2 安装Nginx2.3 测试 3. 安装MySQL3.1 拉取镜像3.2 安装MySQL3.3 连接MySQL 4. 部署SpringBoot项目4.1 Maven打包4.2 编…

qt 打印日志

在 Qt Creator 中&#xff0c;将 QDebug、QInfo、QWarning、QCritical 和 QFatal 打印的日志输出到指定文件&#xff0c;需要设置 Qt 的消息处理机制。这通常涉及到安装一个自定义的消息处理器&#xff0c;该处理器将日志消息重定向到文件。以下是一个基本的步骤指南&#xff1…

R-Tree原理及朴素实现代码

R树是用于空间访问方法的树数据结构&#xff0c;即用于索引多维信息&#xff0c;例如地理坐标、矩形或多边形。 NSDT工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 -…

使用ROCm的HIP API向量加法程序

一、向量加法程序 Radeon Open Compute (ROCm) 是一个开源平台&#xff0c;用于加速高性能计算 (HPC) 和机器学习应用程序。它支持包括GPUs在内的多种硬件&#xff0c;并提供HIP (Heterogeneous-compute Interface for Portability) 作为CUDA代码的便捷转换工具。为了提供一个…

蓝桥杯算法题:栈(Stack)

这道题考的是递推动态规划&#xff0c;可能不是很难&#xff0c;不过这是自己第一次靠自己想出状态转移方程&#xff0c;所以纪念一下&#xff1a; 要做这些题目&#xff0c;首先要把题目中会出现什么状态给找出来&#xff0c;然后想想他们的状态可以通过什么操作转移&#xf…

关闭笔记本自带的键盘

目录 一、问题 二、方法 【方法一】 【方法二】 一、问题 笔记本自带的键盘上的个别按键又坏了&#xff0c;可能是因为使用电脑时&#xff0c;最先坏的几个按键那里温度比较高&#xff0c;久而久之就烧坏了吧。距离上次更换新键盘才差不多一年&#xff0c;所以不打算再买新…

基于arcgis /envi PCA(主成分分析)实现过程

基于arcgis /envi PCA(主成分分析)实现过程 1 提取研究范围 2对研究范围进行重采样 &#xff08;根据数据情况进行选做&#xff0c;如数据较大建议进行该步骤操作&#xff09; 3 对研究范围内数据进行归一化处理 4 将空值替换为0 5 对同期不同要素数据进行波段合成 对波段…

python pivot_table功能详解与应用 -- 实现Excel的透视表功能

1. 背景描述 透视表是一种能对多维数据进行分析统计的工具&#xff0c;具有筛选处理、分类汇总&#xff0c;优化显示等强大的功能&#xff0c;是Excel中最好用的数据分析工具之一。 在自动化办公中&#xff0c;使用python的pivot_table()&#xff0c;搭配合适的聚合函数&#x…

【linux篇】ubuntu安装教程

有道是工欲善其事必先利其器&#xff0c;在学习linux前&#xff0c;先得搭建好环境才能事半功倍。 1.VMware虚拟机安装 打开浏览器&#xff0c;可直接在搜索栏中输入VMware。