Vue3基础笔记(1)模版语法 属性绑定 渲染

news2024/12/26 14:16:47

        Vue全称Vue.js是一种渐进式的JavaScript框架,采用自底向上增量开发的设计,核心库只关注视图层。性能丰富,完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用,适用于场景丰富的web前端框架。灵活性可逐步集成性,是vue最显著的特点~

官方中文文档:

Vue.js - 渐进式 JavaScript 框架 | Vue.jsVue.js - 渐进式的 JavaScript 框架icon-default.png?t=N7T8https://cn.vuejs.org/

一.API风格

1.选项式API(Vue2)

2.组合式API(Vue3)

二.安装

首先保证自己的Node.js版本在15以上。

切换到目标文件夹。 

npm init vue@latest

建议先执行上述命令配置内地镜像。 

 如上,初学时全部勾选否认即可。

完成绿字提示的命令,出现上述界面。

访问,项目创建成功。 

用VSCode打开。

下载Vue-Official插件。

三.目录结构

  • .vscode:开发工具的配置文件
  • node_modules:Vue项目的运行依赖文件
  • public:资源文件夹
  • src:源码文件夹
  • .gitignore:git忽略文件
  • index.html:入口Html文件
  • package.json:信息描述文件
  • README.md:注释文件
  • vite.config.js:Vue配置文件 

四.模版语法

把Components文件夹中的东西都删掉,并修改app.vue的内容如下——仅包含script和template标签:

空白且不报错,如下:

 

export default{
    data(){
        return{
            msg:"Vue启动~",
            num:10,
            csdnnet:"<a href='mp.csdn.net'>跳转到CSDN</a>",
            myclass:"myclass1",
            myDs:false,
            ObjStyle:{
                id:"myId",
                // 必须是真实的属性名
                class:"myclass1"
            },
            can:false,
            doubt:"D",
            football:["拜仁慕尼黑","多特蒙德","莱比锡红牛","勒沃库森"],
            poka:[{
                "name":"帝牙卢卡",
                "gender":"steel_dragon"
            },
            {
                "name":"帕路奇犽",
                "gender":"water_dragon"
            },
            {
                "name":"骑拉帝纳",
                "gender":"ghost_dragon"
            }]
            
        }
    }
  }

如上,模版的写法是:(在return中通过键值对的方式创建值或者对象~)

export default{
    data(){
        return{
            
            
        }
    }
  }

 然后在template标签中写元素——{{ }}即为所谓的插值语法:

<p>{{ msg }}</p>

 每个绑定仅仅支持单一表达式,也就是一段能被求值的JavaScript代码。此外模版语法中不建议有任何带逻辑判断的操作~

<p>{{ num+1+2 }}</p>

 

五.属性绑定 

            csdnnet:"<a href='mp.csdn.net'>跳转到CSDN</a>",
            myclass:"myclass1",
            myDs:false,

添加如上数据。

    <p v-html="csdnnet"></p>
    <!-- 双大括号会将数据插值为纯文本,而不是Html,必须使用v-html命令 -->
    <p>{{ csdnnet }}</p>

双大括号会将数据插值为纯文本,而不是Html,必须使用v-html命令,如下:

 双大括号不能再HTML attributes中使用,想要响应式地绑定一个attribute,应该使用v-bind指令:

<div v-bind:class="myclass">属性绑定</div>

属性为:

<style>
.myclass1{
    color: aqua;
    font-size: 26px;
}
</style>

 如果属性绑定的是null或者undefined,则属性会移除~

div v-bind="ObjStyle">llll</div>

将v-bind省略也是可以的,只保留冒号也成立。 


            ObjStyle:{
                id:"myId",
                // 必须是真实的属性名
                class:"myclass1"
            },

 如上,直接绑定一个对象也可以——相当于属性嵌套~

 

六.条件渲染

添加数据:

            can:false,
            doubt:"D",

条件渲染类似于JavaScript中的条件语句,又v-if、v-else、v-else-if:

    <div v-if="can">你能看见我吗?</div>
    <div v-else>看不到就看这里~</div>
    <div v-if="doubt===A">你现在看到的是字母A~</div>
    <div v-else-if="doubt===B">你现在看到的是字母B~</div>
    <div v-else-if="doubt===C">你现在看到的是字母C~</div>
    <div v-else>现在ABC都看不到~</div>
    <div v-show="can">同样的功能~</div>

 

v-if也可以换为v-show~ 

有关v-if和v-show的区别:

七.列表渲染 

添加数据:

 football:["拜仁慕尼黑","多特蒙德","莱比锡红牛","勒沃库森"],
            poka:[{
                "name":"帝牙卢卡",
                "gender":"steel_dragon"
            },
            {
                "name":"帕路奇犽",
                "gender":"water_dragon"
            },
            {
                "name":"骑拉帝纳",
                "gender":"ghost_dragon"
            }]

如下,本质还是插值语法,注意点已经卸载了注释: 

    <p v-for="item in football">{{ item }}</p>
    <div v-for="item in poka">
        <span>{{ item.name }}</span>
        <span>&nbsp&nbsp&nbsp&nbsp&nbsp</span>
        <span>{{ item.gender}}</span>
    </div>
    <!-- 支持可选的第二个参数表示当前项的位置索引 -->
    <p v-for="(item,index) in football">{{ item }}&nbsp&nbsp&nbsp{{ index }}</p>
    <!-- 也可以用of -->

八.Key值管理状态

看一下就行,Vue3目前来说不是很致命的问题。

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

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

相关文章

一周学会Django5 Python Web开发-Jinja3模版引擎-模板语法

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计37条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

Linux系统架构----Tomcat 部署

一.Tomcat概述 Tomcat服务器是一个免费的开放式源代码的web应用服务器&#xff0c;属于轻量级应用级服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP程序的首首选。 一般来说&#xff0c;tomcat虽然和Apache或者Nginx这些…

ThingsBoard 开源物联网平台

文章目录 1.ThingsBoard 介绍2.ThingsBoard 架构2.1.单体架构2.2.微服务架构 3.物联网网关4.边缘计算 ThingsBoard # ThingsBoardhttps://iothub.org.cn/docs/iot/ https://iothub.org.cn/docs/iot/thingsboard-ce/1.ThingsBoard 介绍 ThingsBoard 是一个开源物联网平台&…

MySQL 数据库 下载地址 国内阿里云站点

mysql安装包下载_开源镜像站-阿里云 以 MySQL 5.7 为例 mysql-MySQL-5.7安装包下载_开源镜像站-阿里云

C++ 拷贝构造函数和运算符重载

目录 一. 拷贝构造函数 1. 引入 2. 拷贝构造的概念 3. 浅拷贝 4. 深拷贝 二. C运算符重载 1. 概念 2. 注意事项 3.举例 一. 拷贝构造函数 1. 引入 我们在创建对象时&#xff0c;能不能创建一个与原先对象一模一样的新对象呢&#xff1f;为了解决这个问题&#x…

Qt/QML编程之路:基于QWidget编程及各种2D/3D/PIC绘制的示例(45)

关于使用GWidget,这里有一个示例,看了之后很多图形绘制,控件使用,及最基本的QWidget编程都比较清楚了。ui的绘制: 运行后的界面如 工程中有非常丰富的关于各种图形的绘制,比如上图中circle,还有image。有下面一段readme的说明: # EasyQPainter Various operation pra…

java数据结构与算法刷题-----LeetCode47. 全排列 II

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 暴力回溯2. 分区法回溯 此题为46题的衍生题&#xff0c;在46题…

QT c++ 双精度数拆分和组合 Tool

本文描述QT c的双精度数拆分和合并&#xff0c;即双精度浮点数拆为四个16位无符号整数以及将四个16位无符号整数组合为双精度浮点数。 开发平台&#xff1a;win10QT6.2.4 MSVC2019 64 bit 在本文的最好列出了代码和可执行文件打包下载链接&#xff08;可直接使用&#xff09;…

【数学】【计算几何】1453. 圆形靶内的最大飞镖数量

作者推荐 视频算法专题 本文涉及知识点 数学 计算几何 LeetCoce:1453. 圆形靶内的最大飞镖数量 Alice 向一面非常大的墙上掷出 n 支飞镖。给你一个数组 darts &#xff0c;其中 darts[i] [xi, yi] 表示 Alice 掷出的第 i 支飞镖落在墙上的位置。 Bob 知道墙上所有 n 支飞…

“计算机行业的未来:政策导向、技术创新与发展前景“

从政府工作报告探计算机行业发展 政府工作报告作为政府工作的全面总结和未来规划&#xff0c;不仅反映了国家整体的发展态势&#xff0c;也为各行各业提供了发展的指引和参考。随着信息技术的快速发展&#xff0c;计算机行业已经成为推动经济社会发展的重要引擎之一。因此&…

Hack The Box-Monitored

目录 信息收集 rustscan dirsearch WEB web信息收集 snmpwalk curl POST身份验证 漏洞探索 漏洞挖掘 sqlmap 登录后台 提权 get user get root 信息收集 rustscan ┌──(root㉿ru)-[~/kali/hackthebox] └─# rustscan -b 2250 10.10.11.248 --range0-65535 --…

攻防世界-misc-arrdeepee

题目链接:攻防世界 (xctf.org.cn) 题目:我们某一个box被pwn了。在检查过程中,我们发现了一个叫mimikatz的东西,我们以前没有安装过,所以我们清除了,并且重新安装了box。但是,我们忘记备份我们的flag文件了。幸运的是,我们有一个攻击者网络流量捕获。你可以帮我们恢复出…

第12集《天台教观纲宗》

请大家打开讲义第二十一页&#xff0c;我们看己二、明稍利随时得入。 蕅益大师在《弥陀要解》讲一个很重要的概念&#xff0c;提醒所有净土宗的行者&#xff0c;他说&#xff1a;方便有多门&#xff0c;归元无二路。学佛它有两个概念&#xff1a;一个是方便&#xff0c;一个是归…

Android 录屏操作

Android 录屏操作 本文主要介绍android中如何通过MediaRecorder实现录屏操作的. 1: 申请权限 <uses-permission android:name"android.permission.RECORD_AUDIO" /> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"…

vue3动态组件未渲染问题

渲染问题 component动态组件写法与vue2写法一致&#xff0c;代码如下&#xff1a; <component :is"componentName"/><script setup>import { ref } from vueimport account from ./user/account.vue// 组件名称const componentName ref(account)// 点击…

密码学——MAC

消息认证码 在信息发送和接收过程中,若攻击者能够得到信息,进行篡改,就能达到欺骗,诈骗,冒名顶替的作用。为了防止冒名诈骗,一个对策就是使用消息认证码——MAC: Message Authentication Code。 消息认证码,即确定消息真实性的认证程序。发件人将想要发送的信息和从哪个…

挑战OpenAI的新模型免费上线,40%计算量性能逼近GPT-4

据介绍,Inflection-2.5 将强大的 LLM 能力与 Inflection 标志性的「同理心微调」结合在一起,兼具高情商与高智商,可联网获取事实信息,其性能可与 GPT-4、Gemini 等领先大模型相媲美。 本周四,美国 AI 创业公司 Inflection AI 正式发布新一代大语言模型 Inflection-2.5。 …

es 聚合操作(二)

书接上文&#xff0c;示例数据在上一篇&#xff0c;这里就不展示了 一、Pipeline Aggregation 支持对聚合分析的结果&#xff0c;再次进行聚合分析。 Pipeline 的分析结果会输出到原结果中&#xff0c;根据位置的不同&#xff0c;分为两类&#xff1a; Sibling - 结果和现有…

Github 2024-03-15 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-03-15统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目3Python项目3非开发语言项目2PHP项目1C#项目1Rust项目1《Hello 算法》:动画图解、一键运行的数据结构与算法教程 创建周期:476…

N沟道功率MOSFET--FDA59N30 助力提高电源效率 为设备节能做出贡献

FDA59N30 UniFETTM MOSFET 是高压 MOSFET产品&#xff0c;基于平面条形和 DMOS 技术。 该 MOSFET 产品专用于降低通态电阻&#xff0c;并提供更好的开关性能和更高的雪崩能量强度。适用于开关电源转换器应用&#xff0c;如功率因数校正&#xff08;PFC&#xff09;、平板显示器…