当前位置: 首页 > news >正文

Vue学习笔记之应用创建和基础知识

1、安装方式

CDN方式安装:

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

2、创建应用

使用Vue内置对象创建一个应用,基本代码结构如下:

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app"></div>
<script>const { createApp } = Vue;createApp({data(){return {}},methods: {},mounted() {},computed: {}}).mount('#app');
</script>

id为app的div元素,代表vue应用绑定的dom元素,vue对内部数据的操作都会直接影响dom的数据更新;

data:响应式数据均定义在data内部

methods:自定义函数定义在区域

mounted:DOM元素挂在应用后,可再此执行初始化操作,使用this对象操作data数据

computed:计算属性定义在此区域,一般只涉及读操作,基于响应式数据组合为一个新属性,提供给DOM元素渲染,也支持修改计算属性,但不建议这么做。

3、插值语法

使用两个{{}}大括号表示,如在data部分定义返回属性count,

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app">{{count}}
</div>
<script>const { createApp } = Vue;createApp({data() {return {count: 1}},}).mount('#app');
</script>

3、v-if,v-else判断指令

cansee为真时展示v-if的p元素,否则展示v-else的p元素

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app"><p v-if="cansee">can see me!</p><p v-else>you can't see me!</p>
</div>
<script>const { createApp } = Vue;createApp({data() {return {cansee: true,}}}).mount('#app');
</script>

4、v-on事件指令

v-on:click代表绑定onclick事件,在methods区域定义了事件处理函数,将响应式数据count执行加1操作,如下所示:

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app">{{count}}<button v-on:click="increment">点击我</button>
</div>
<script>const { createApp } = Vue;createApp({data() {return {count: null,}},mounted() {this.count = 1;},methods: {increment() {this.count++;}}}).mount('#app');
</script>

5、嵌套对象的使用

可以使用嵌套对象语法给DOM元素绑定数据,如下所示:

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app"><p>{{obj.nested.count}}</p><button v-on:click="increment">点击我</button>
</div>
<script>const { createApp } = Vue;createApp({data() {return {obj: {nested: { count: 0 }}}},mounted() {},methods: {increment() {this.obj.nested.count++;}}}).mount('#app');
</script>

6、计算属性的使用

计算属性基于响应式数据组合新的数据,计算属性的 getter 应只做计算而没有任何其他的副作用,不要改变其他状态、在 getter 中做异步请求或者更改 DOM。另外,避免直接修改计算属性的值。

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app"><p>Has published books:</p><span>{{isPublishedBooks}}</span><br/><button v-on:click="removeAll">删除所有</button><p>总指导是:{{fullName}}</p><button v-on:click="modifyZonzhidao">改名</button>
</div>
<script>const { createApp } = Vue;createApp({data(){return {author: {name: 'John Doe',books: ['Java guide 3','C# 高级编程','数据库基础'],firstName: 'Pan',lastName: 'three big stones'}}},methods: {removeAll() {this.author.books = [];},modifyZonzhidao() {this.fullName = '黄 飞鸿';}},computed: {isPublishedBooks() {return this.author.books.length > 0 ? 'Yes' : 'No';},fullName: {get() {return this.author.firstName + ' ' + this.author.lastName;},set(newValue) {//注意:这里使用解构赋值语法[this.author.firstName, this.author.lastName] = newValue.split(' ');}}}}).mount('#app');
</script>

6、类的绑定

使用vue将class绑定到DOM元素有以下5种方式:

1)单属性语法赋值class方式,:class="{active:isActive,'text-danger':hasError}",isActive为真将绑定active类,hasError为真将绑定text-danger类,同时为真将绑定两者

2)使用对象直接赋值class方式,:class="classObj",直接绑定classObj中所有为真的类

3)使用计算表达式方式赋值,:class="classObj2",classObj2是一个计算表达式,如下代码所示,也是绑定计算表达式返回对象中所有为真的class

4)使用数组方式赋值class,:class="[activeClass,errorClass]",直接绑定activeClass和errorClass所对应的class

5)基于条件判断+数组的混合方式赋值class,:class="[{active:isActive},errorClass]",如isActive为真,将绑定active和errorClass属性对应的class,否则只会绑定errorClass属性对应的class

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<style>.active{background-color:lightcoral;border:1px dotted black;width:200px;height:200px;opacity:0.5;}.text-danger{opacity:1;background-color:red;}
</style>
<div id="app"><div class="static" :class="{active:isActive,'text-danger':hasError}">单属性赋值class方式</div><div :class="classObj">多属性对象赋值class方式</div><div :class="classObj2">计算表达式赋值class方式</div><div :class="[activeClass,errorClass]">class赋值数组对象方式</div><div :class="[{active:isActive},errorClass]">class赋值数组对象带条件判断方式</div>
</div>
<script>const { createApp } = Vue;createApp({data(){return {isActive: true,hasError: false,classObj: {active: true,'text-danger': true},activeClass: 'active',errorClass: 'text-danger',}},methods: {},computed: {classObj2() {return {active: this.isActive && !this.hasError,'text-danger': !this.hasError}}}}).mount('#app');
</script>

6、内联样式的绑定

使用vue将内联元素绑定到DOM元素有以下3种方式:

1)单属性语法赋值style方式,:style="{color:activeColor,fontSize:fontSize+'px'}",绑定颜色和字体大小两个内联元素

2)使用对象直接赋值style方式,:class="styleObj",直接绑定styleObj中所有的内联元素

3)使用数组方式赋值style方式,:class="[styleObj,styleObj2]",将合并数组中所有对象下的内联元素

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app"><div :style="{color:activeColor,fontSize:fontSize+'px'}">内联样式直接赋值方式</div><div :style="styleObj">内联样式使用对象赋值方式</div><div :style="[styleObj,styleObj2]">内联样式使用数组对象赋值方式</div>
</div>
<script>const { createApp } = Vue;createApp({data(){return {activeColor: 'red',fontSize: 30,styleObj: {color: 'green',fontSize: '28px'},styleObj2: {fontWeight: 'bold',fontFamily: 'cursive'}}},methods: {},computed: {}}).mount('#app');
</script>

相关文章:

Vue学习笔记之应用创建和基础知识

1、安装方式 CDN方式安装&#xff1a; <script src"https://unpkg.com/vue3/dist/vue.global.js"></script> 2、创建应用 使用Vue内置对象创建一个应用&#xff0c;基本代码结构如下&#xff1a; <script src"https://unpkg.com/vue3/dist/…...

CSS3基础知识总结

目录 一、CSS3 边框 1.border-radius&#xff1a;圆角边框 2.box-shadow&#xff1a;添加阴影 3.border-image&#xff1a;图片边框 二、CSS3 渐变 1.线性渐变(Linear Gradients) a.由上到下&#xff08;默认&#xff09; b.从左到右 c.对角 d.使用角度 2.径向渐变(…...

80.网游逆向分析与插件开发-背包的获取-自动化助手显示物品数据1

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;升级Notice类获得背包基址-CSDN博客 码云地址&#xff08;ui显示角色数据 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;3be017de38c50653b…...

Python第三方扩展库NumPy

Python第三方扩展库NumPy NumPy(Numerical Python&#xff0c;注意使用时全部小写 numpy) 是 Python 语言的一个扩展程序库&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;此外也针对数组运算提供大量的数学函数库。 在Windows平台上安装numpy&#xff0c;可在cmd命令…...

Dockerfile简介和基础实践

文章目录 1、Dockerfile简介1.1、Dockerfile解决的问题1.2、docker build 构建流程1.3、关键字介绍 2、Dockerfile 实践2.1、基本语法实践 --- golang2.1.1 问题检查 2.2、基本语法实践 --- gcc 总结 1、Dockerfile简介 Dockerfile是一个创建镜像所有命令的文本文件, 包含了一…...

3分钟 docker搭建 帕鲁服务器

1. 安装docker 1.安装依赖环境 yum -y install yum-utils device-mapper-persistent-data lvm22.设置镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3.安装docker 3.1 yum makecache fast yum install docker-ce …...

[BUUCTF 2018]Online Tool(特详解)

这段代码块检查请求中是否设置了HTTP_X_FORWARDED_FOR头部。如果设置了&#xff0c;它将REMOTE_ADDR设置为HTTP_X_FORWARDED_FOR的值。这通常用于处理Web服务器位于代理后面的情况。 如果URL中未设置host参数&#xff0c;它使用highlight_file(__FILE__);来显示PHP文件的源代码…...

Qt Design Studio+Pyside项目

Qt Design Studio设计出的项目结构有多个层级的目录&#xff0c;我们直接用类似Qt Creator工具的方式加载main.qml文件时会报错提示module "content" is not installed&#xff0c;将content加入importPath后还是报同样的错误。 Qt Design Studio生成的文件包含了.qm…...

软件门槛之算法

软件门槛之算法 1.背景2.算法定义3.特征4.基本要素5.常用设计模式6.常用实现方法7.复杂度时间复杂度空间复杂度8.分类9.算法常用的一些工具10.算法的检验标准1.背景 一入行业深似海 再回首已是白发生! 工作这么多年了,感觉算法是比较难搞的。 写代码最重要的可能是框架和算法…...

第八篇【传奇开心果系列】beeware的toga开发移动应用示例:实现消消乐安卓手机小游戏

传奇开心果博文系列 系列博文目录beeware的toga开发移动应用示例系列博文目录一、项目目标二、安装依赖三、初步实现四、扩展思路五、实现游戏逻辑示例代码六、实现界面设计示例代码七、实现增加关卡和难度示例代码八、实现存档和排行榜示例代码九、实现添加特殊方块和道具示例…...

【MySQL】MySQL内置函数--日期函数/字符串函数/数学函数/其他相关函数

文章目录 1.日期函数2.字符串函数3.数学函数4.其它函数 1.日期函数 MySQL中内置了一下函数&#xff1a; 函数名称描述current_date()当前日期current_time()当前时间current_timestamp()当前时间戳date(datetime)返回datetime参数的日期部分date_add(date,interval d_value_t…...

应急响应红蓝工程师白帽子取证Linux和windows入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除

应急响应红蓝工程师白帽子取证Linux入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除。 一般服务器被入侵的迹象,包括但不局限于:由内向外发送大量数据包(DDOS肉鸡)、服务器资源被耗尽(挖矿程序)、不正常的端口连接(反向shell等)、服务…...

vue项目使用element-plus

介绍 1.element Plus 是一套基于 Vue.js 的组件库&#xff0c;是对饿了么团队的 Element UI 组件库的升级版本。Element Plus 的目标是提供一套更为现代、更好用的 Vue.js UI 组件。 导入 1.1 执行命令: npm install element-plus --save 1.2 在main.js中做如下配置import E…...

Fastbee物联网项目新手快速入门

一&#xff0c;前提条件 后端环境准备如下&#xff1a; 正式环境推荐硬件资源最低要求4c8G&#xff0c;硬盘40G。JDK 1.8.0_2xx (需要小版本号大于200) 。Maven3.6.3。&#xff08;IDEA启动时使用IDEA默认自带的版本即可&#xff09;。 启动fastbee之前&#xff0c;请先确定…...

Linux 网络流量相关工具

本文聚焦于网络流量的查看、端口占用查看。至于网络设备的管理和配置&#xff0c;因为太过复杂且不同发行版有较大差异&#xff0c;这里就不赘述&#xff0c;后面看情况再写。 需要注意的是&#xff0c;这里列出的每一个工具都有丰富的功能&#xff0c;流量/端口信息查看只是其…...

KMP算法关于next数组详解

j1234567abcabcdnext[j]0111234 要求j7的时候&#xff0c;next数组为多少&#xff0c;j7的时候&#xff0c;就是看i6的时候前缀和后缀的关系&#xff08;因为求7的时候&#xff0c;和7没有关系&#xff0c;和7的前面有关系&#xff09; 当i6的时候&#xff0c;j3&#xff0c;…...

【Docker】数据持久化 挂载

Docker的镜像是只读的&#xff0c;但是容器是可写的&#xff0c;我们可以将数据写入到容器&#xff0c;不过一旦容器删除数据将会丢 失&#xff0c;那么有什么办法能将数据进行持久化存储呢&#xff1f; ——在宿主机上开辟一块地方&#xff0c;存储内容和docker容器的存储内…...

redis-主从复制

1.主从复制 1.1简介 主机数据更新后根据配置和策略&#xff0c; 自动同步到备机的master/slaver机制&#xff0c;Master以写为主&#xff0c;Slave以读为主 1.2作用 1、数据冗余&#xff1a;主从复制实现了数据的热备份&#xff0c;是持久化之外的一种数据冗余方式。 2、故…...

知识产权如何转为实缴资本,实操

网上已传疯了&#xff0c;相关部门要求企业注册资本认缴的必须在5年内完成实缴&#xff0c;这一下子引起企业老板们着急了。以前公司注册时&#xff0c;很多老板因为是认缴资本&#xff0c;完全凭脑袋一拍&#xff0c;写上注册资金5000万&#xff0c;有的甚至写上几个小目标。现…...

docker-compose安装

一、docker-compose是什么 Docker Compose是一个用来定义和运行复杂应用的Docker工具。 一个使用Docker容器的应用&#xff0c;通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。 Compose 通过一个配置文件来管理多个Docker容器&#xff0c;在配置文件…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...