【星海出品】VUE(三)

node版本查看

nvm list
node -v

* 16.20.0 (Currently using 64-bit executable)

VUE版本查看 package.json 文件

  "dependencies": {"vue": "^3.3.4"},

VScode 安装 volar 插件有利于开发。

浏览器图标 ico

VUE使用一种基于 HTML 的模板语法,使我们能够声明式地其组件实例的数据绑定到呈现的 DOM 上。
所有的 Vue 模板上都是语法层面合法的 HTML, 可以被符合规范的浏览器和 HTML 解析器解析。

npm init vue@latest
#创建一个新的项目
项目构建完成,可执行以下命令:cd vue-projectnpm installnpm run dev

安装依赖

cnpm install
#安装依赖 node_moules

启动程序

npm run dev
#启动程序

删除所有的components目录下的文件
App.vue 文件内删除的只剩下基本框,注意:script和template的顺序没有限制

<script>
</script><template>
</template>

写一个数据

<script>
export default {data(){return{msg:"test"}}
}
</script>

现在没有这个数据在template里写一个标签引入

<template><h3> 模板 </h3><p> {{msg}} </p>
</template>

删除main.js中引入的css模板

import './assets/main.css'

assets目录下的东西也都删除掉

可以定义多个数据

<script>
export default {data(){return{msg:"test"hello:"hello world", <!-- 字符串支持字符串的方法 <p> {{ hello.split('').reverse().join('') }} </p>-->number:10, <!--数字,vue支持加减 <p> {{number + 1 }} </p> -->ok:true,   <!-- 三目运算符 {{ok? 'YES' : 'NO'}} -->rawHtml: "<a href='https://www.baidu.com'> 百度 </a>"  <!-- 如果直接用{{ rawHtml }} 会全部按照字符串调用,不会识别 a 标签。需要识别需要用到v-html -->}}
}
</script>
<p v-html="rawHtml"></p>

新项目

npm init vue@latest
#vue-demo
cnpm install
npm run dev

这次只保留HelloWorld.vue
components下的除了HelloWorld.vue的全部删除

App.vue只保留下面的代码

<script setup>import HelloWorld from './components/HelloWorld.vue'
</script><template><HelloWorld/>
</template>

main.js中删除以下代码。重点只关注HelloWorld

import './assets/main.css'

HelloWorld.vue中全部删除,只保留基础框架

<script>
</script>
<template>
</template>

{{msg}}不能在HTML attributes中响应,显示的是{{msg}}字符串。
如果想要响应,需要使用v-bind,这样就能显示映射

<template><div v-bind:id="dynamicId" v-bind:class="msg">测试</div>
</template><script>
export default{data(){return{msg:"active",dynamicId:"appID",dynmiClass:"appclass"}}
}
</script>

配合v-bind加入css元素

如果v-bind:XXX=“YYY”
YYY为null 或者 undefined
b-bind提供了简写

<div :id=“xxx” :class=“YYY”>

<template><div v-bind:id="dynamicId" v-bind:class="dynmiClass">测试</div>
</template><script>
export default{data(){return{msg:"active",dynamicId:"appID",dynmiClass:"appclass"}}
}
</script><style>
.appclass{color: red;font-size: 30px;
}
</style>

点击按钮。

<button :disabled="isButtonDisabled">Button</button>isButtonDisabled:false
<!-- disabled为不可点击 true则为不可点击,false则为可点击  -->
<!-- 有时候出现一些情况会设置为不可点击,所以button常被设置变量 -->

条件渲染。

components 创建新的vue
在components目录下创建一个文件 ifDemo.vue

然后再App.vue 下仿照HelloWorld去引入新的vue文件

import ifDemo from './components/ifDemo.vue'

条件渲染,如果v-if 为true 则能看见,为false则看不见。

如果加一个v-else则显示else的信息

<template><h3>条件渲染</h3><div v-if="flag"> 你能看见我么 </div>
</template>><script>
export default{data(){return{flag:true}}
}
</script>
<template><h3>条件渲染</h3><div v-if="flag"> 你能看见我么 </div><div v-else> 看不太清楚 </div>
</template>><script>
export default{data(){return{flag:true}}
}
</script>

v-else-if的用法

<template><h3>条件渲染</h3><div v-if="flag"> 你能看见我么 </div><div v-else> </div><div v-if="type === 'A'"> A </div><div v-else-if="type === 'B'"> B </div><div v-else-if="type === 'C'"> C </div><div v-else>Not A/B/C</div>
</template>
<script>
export default {data(){return{flag:true,type: "D"}}
}
</script>

v-if是惰性的,为true时才会执行。
v-show有更高的切换开销。

列表item

在components下创建一个文件ListDemo
在App.vue下导入,并进行引用

<script setup>
import HelloWorld from './components/HelloWorld.vue'
import IfDemo from './components/IfDemo.vue'
import ListDemo from './components/ListDemo.vue'
</script>
<template><HelloWorld/><IfDemo /><ListDemo/>
</template>
<template><h3> 列表渲染 </h3><div><p v-for="item in names"> {{ item }} </p></div>
</template><script>
export default {data(){return{names:["A","B","C"]}}
}
</script>

复杂的数据

数组有两个参数,对象有三个参数,顺序不能修改
key通过v-bind绑定特殊的attribute,v-for希望绑定一个基础的值,比喻字符串或数字

<template><h3> 列表渲染 </h3><p v-for="(item,index) in names" :key="index"> {{ item }} - {{index}}</p><h3> new </h3><div v-for="(item,index) in result" :key="index"><p> {{ item.id }} </p><p> {{ item.title }} </p><img :src="item.avator" alt=""></div><div><p v-for="(item,key,index) of userInfo" :key="index"> {{ item }} - {{ key }} - {{ index }}</p></div>
</template><script>
export default {data(){return{names:["test1","test2","test3"],result: [{"id": 1,"title": "eeds","avator": "https://profile-avatar.csdnimg.cn/c689d141563747f7af26b9d5d6ed2e43_weixin_41997073.jpg!1",},{"id": 2,"title": "ty","avator": "https://profile-avatar.csdnimg.cn/c689d141563747f7af26b9d5d6ed2e43_weixin_41997073.jpg!1",},],userInfo:{name:"iwen",age:20,sex:"男"}}}
}
</script>

也可以不使用默认的 index,直接用item的 ID 作为key。
推荐使用 of 不使用 in ,因为 of 更接近底层

  <div v-for="item of result" :key="item.id">

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

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

相关文章

MySQL 8.0 主从复制重建流程(从主库数据文件备份恢复)

一、需求描述 MySQL主从复制2台数据库已经存在&#xff0c;因为差异太大的原因&#xff0c;所以需要将主库的数据文件备份在从库进行恢复&#xff0c;重新设置主从复制的关系。 二、准备工作 在开始之前我们需要有主库下面的文件 1.主库MySQL数据目录的备份压缩文件 202311…

MSF暴力破解SID和检测Oracle漏洞

暴力破解SID 当我们发现 Oracle 数据库的 1521 端口时,我们可能考虑使用爆破 SID(System Identifier)来进行进一步的探测和认证。在 Oracle 中,SID 是一个数据库的唯一标识符。当用户希望远程连接 Oracle 数据库时,需要了解以下几个要素:SID、用户名、密码以及服务器的 I…

深入理解WPF中的依赖注入和控制反转

在WPF开发中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff09;和控制反转&#xff08;Inversion of Control&#xff09;是程序解耦的关键&#xff0c;在当今软件工程中占有举足轻重的地位&#xff0c;两者之间有着密不可分的联系。今天就以一个简单的小例子&…

flink job同时使用BroadcastProcessFunction和KeyedBroadcastProcessFunction例子

背景&#xff1a; 广播状态可以用于规则表或者配置表的实时更新&#xff0c;本文就是用一个欺诈检测的flink作业作为例子看一下BroadcastProcessFunction和KeyedBroadcastProcessFunction的使用 BroadcastProcessFunction和KeyedBroadcastProcessFunction的使用 1.首先看主流…

【华为OD题库-005】选修课-Java

题目 现有两门选修课&#xff0c;每门选修课都有一部分学生选修&#xff0c;每个学生都有选修课的成绩&#xff0c;需要你找出同时选修了两门选修课的学生,先按照班级进行划分&#xff0c;班级编号小的先输出&#xff0c;每个班级按照两门选修课成绩和的降序排序&#xff0c;成…

Linux背景介绍与环境搭建

本章内容 认识 Linux, 了解 Linux 的相关背景学会如何使用云服务器掌握使用远程终端工具 xshell 登陆 Linux 服务器 Linux 背景介绍 发展史 本门课程学习Linux系统编程&#xff0c;你可能要问Linux从哪里来&#xff1f;它是怎么发展的&#xff1f;在这里简要介绍Linux的发展…

3+单细胞+代谢+WGCNA+机器学习

今天给同学们分享一篇生信文章“Identification of new co-diagnostic genes for sepsis and metabolic syndrome using single-cell data analysis and machine learning algorithms”&#xff0c;这篇文章发表Front Genet.期刊上&#xff0c;影响因子为3.7。 结果解读&#x…

正则表达式中扩展表示法的理解

正则表达式可以拥有扩展表达式&#xff0c;大致形式是(?...) 理解&#xff1a; 以(?)的含义为例子 data a1b2ce34.5d_6fres re.findall(r[a-z](?\d), data) # [a, b, ce]# ([a-z](?\d) 表示的是匹配小写字符一个或多个&#xff0c;但是匹配之后需要满足后续有数字一个…

Elasticsearch:处理 Elasticsearch 中的字段名称不一致

在 Elasticsearch 中&#xff0c;经常会遇到类似数据的不同索引具有不同字段名称的情况。 例如&#xff0c;一个索引可能使用字段名 level 来表示日志级别&#xff0c;而另一个索引可能使用 log_level 来达到相同目的。 出现这种不一致的原因有多种&#xff0c;例如不同的团队使…

Leetcode-1 两数之和

暴力穷举 class Solution {public int[] twoSum(int[] nums, int target) {int[] num new int[2];for(int i0;i<nums.length-1;i){for(int ji1;j<nums.length;j){if(nums[i]nums[j]target){num[0]i;num[1]j;}}}return num;} }HashMap&#xff0c;记录下标和对应值&…

Python功能制作之正则表达式批量删除并重命名文件

在平时&#xff0c;我们总是会遇到一种需要批量更改&#xff0c;或者是删除文件名字的情况。 对此&#xff0c;我们可以使用正则表达式进行匹配&#xff0c;然后去匹配删除相应的字数。 比如图片序列&#xff0c;因为一些特殊情况&#xff0c;导致名字为&#xff1a; 00000-…

SpringCloud 微服务全栈体系(十)

第十章 RabbitMQ 一、初识 MQ 1. 同步和异步通讯 微服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&#xff0c;需要实时响应。 异步通讯&#xff1a;就像发邮件&#xff0c;不需要马上回复。 两种方式各有优劣&#xff0c;打电话可以立即得…

CLion2022安装

1. CLion下载 地址&#xff1a;https://www.jetbrains.com.cn/clion/download/other.html 下载你需要的版本&#xff0c;这里以2022.2.4为例 之后获取到对应的安装包 2. 安装 1、双击运行安装包&#xff0c;next 2、选择安装路径&#xff0c;建议非系统盘&#xff0c;nex…

git clone 报错:fatal: unable to access ‘https://github.com/XXXXXXXXX‘

国内使用GIT工具&#xff0c;拉取github代码&#xff0c;会因为网络原因无法成功拉取。出现如下类似情形&#xff1a; 此时更改 web URL即可&#xff0c;改用镜像的github网站替换https://github.com/。即URL里的https://github.com/换成https://hub.nuaa.cf/&#xff0c;即可…

linux之按键中断

查看原理图确认引脚 可以看到按键有两个&#xff0c;分别对应GPIO5_1和GPIO4_14 配置pinctrl&#xff0c;配置成GPIO模式 1.使用官方工具&#xff0c;配置下引脚 2.将生成的代码复制到设备树里 创建设备节点 生成二进制设备树文件 在工具链表下使用 make dtbs 或者使…

求职应聘校招社招,面对在线测评有什么技巧?

网上测评&#xff0c;不要怕&#xff0c;关键是在于你要提前准备充分。要说技巧&#xff0c;真心没有&#xff0c;但是建议我有一点点。 1、网上测评&#xff0c;技巧就是老实做 老老实实做题&#xff0c;我一贯的作风&#xff0c;老实人不吃亏。越是心思灵巧的人&#xff0c…

精通Nginx(05)-http工作机制、指令和内置变量

http服务是Nginx最原始的服务,搞清楚其工作机制非常有利于弄懂nginx是如何工作的。 Nginx核心模块为ngx_http_core_module。 目录 http工作机制 配置结构 工作机制 http常用指令 http server listen server_name location 优先级 "/"的特殊用法 root/a…

【STM32】基于HAL库建立自己的低功耗模式配置库(STM32L4系列低功耗所有配置汇总)

【STM32】基于HAL库建立自己的低功耗模式配置库&#xff08;STM32L4系列低功耗所有配置汇总&#xff09; 文章目录 低功耗模式&#xff08;此章节可直接跳过&#xff09;低功耗模式简介睡眠模式停止模式待机模式 建立自己的低功耗模式配置库通过结构体的方式来进行传参RTC配置…

使用自定义函数拟合辨识HPPC工况下的电池数据(适用于一阶RC、二阶RC等电池模型)

该程序可以离线辨识HPPC工况下的电池数据&#xff0c;只需要批量导入不同SOC所对应的脉冲电流电压数据&#xff0c;就可以瞬间获得SOC为[100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%]的所有电池参数,迅速得到参数辨识的结果并具有更高的精度&#xff0c;可以很大程度上降低参…

降低毕业论文写作压力的终极指南

亲爱的同学们&#xff0c;时光荏苒&#xff0c;转眼间你们即将踏入毕业生的行列。毕业论文作为本科和研究生阶段的重要任务&#xff0c;不仅是对所学知识的综合运用&#xff0c;更是一次对自己学术能力和专业素养的全面考验。然而&#xff0c;论文写作常常伴随着压力和焦虑&…