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

        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.mfbz.cn/a/459192.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Modbus -tcp协议使用第二版

1.1 协议描述 1.1.1 总体通信结构 MODBUS TCP/IP 的通信系统可以包括不同类型的设备&#xff1a; &#xff08;1&#xff09;连接至 TCP/IP 网络的 MODBUS TCP/IP 客户机和服务器设备&#xff1b; &#xff08;2&#xff09;互连设备&#xff0c;例如&#xff1a;在 TCP/IP…

【消息队列开发】 实现内存加载

文章目录 &#x1f343;前言&#x1f333;实现思路&#x1f6a9;读取消息长度&#x1f6a9;读取相应长度的消息&#x1f6a9;进行反序列化&#x1f6a9;判定是否有效&#x1f6a9;加入有效消息&#x1f6a9;收尾工作&#x1f6a9;代码实现 ⭕总结 &#x1f343;前言 本次开发目…

微信小程序基础面试题

1、简述微信小程序原理 小程序本质就是一个单页面应用&#xff0c;所有的页面渲染和事件处理&#xff0c;都在一个页面内进行&#xff0c;但又可以通过微信客户端调用原生的各种接口&#xff1b;它的架构&#xff0c;是数据驱动的架构模式&#xff0c;它的UI和数据是分离的&am…

【UE5】动画混合空间的基本用法

项目资源文末百度网盘自取 什么是动画混合空间 混合空间分为两种: 通过一个数值控制通过两个数值控制 下面通过演示让大家更直观地了解 在Character文件夹中单击右键,选择动画(Animation),选择旧有的混合空间1D 然后选择骨骼&#xff08;动画是基于骨骼显示的,所以需要选择…

杂七杂八111

MQ 用处 一、异步。可提高性能和吞吐量 二、解耦 三、削峰 四、可靠。常用消息队列可以保证消息不丢失、不重复消费、消息顺序、消息幂等 选型 一Kafak:吞吐量最大&#xff0c;性能最好&#xff0c;集群高可用。缺点&#xff1a;会丢数据&#xff0c;功能较单一。 二Ra…

构建用户身份基础设施,推动新能源汽车高质量发展

随着市场进入智能电动汽车时代&#xff0c;车企们发现&#xff0c;在激烈竞争的市场中不断增长&#xff0c;并不是一件容易的事。《麻省理工科技评论》&#xff0c;前段时间写了一篇报道&#xff1a;中国是如何称霸电动汽车世界的&#xff1f;“过去两年&#xff0c;中国电动汽…

项目性能优化—性能优化的指标、目标

项目性能优化—性能优化的指标、目标 性能优化的终极目标是什么 性能优化的目标实际上是为了更好的用户体验&#xff1a; 一般我们认为用户体验是下面的公式&#xff1a; 用户体验 产品设计&#xff08;非技术&#xff09; 系统性能 ≈ 系统性能 快 那什么样的体验叫快呢…

定力至上,穿越周期——哪吒汽车闯进国际大市场

近年来&#xff0c;全球气候变化和环境保护议题日益受到关注&#xff0c;环保意识逐渐深入人心。在这一背景下&#xff0c;新能源汽车作为一种低碳、环保的交通工具受到了广泛关注和青睐。各国纷纷加大对新能源汽车产业的支持力度&#xff0c;通过出台补贴政策、购车优惠以及充…

Linux学习之网络

目录 认识协议 网络协议初始 协议分层 OSI七层模型 TCP/IP的四层模型 数据包封装和分用 以太网通信 ip地址与MAC地址 网络编程套接字 端口号&#xff08;port&#xff09; 认识协议 网络字节序 socket接口 网络的产生是计算机历史的必然性&#xff0c;是计算机发展…

【闲聊】-后端框架发展史

框架&#xff0c;是为了解决系统复杂性&#xff0c;提升开发效率而产生的工具&#xff0c;主要服务于研发人员。 当然&#xff0c;框架还有更深层的作用&#xff0c;框架的沉淀是一种高级的抽象&#xff0c;会将人类的业务逐步抽象为统一标准又灵活可变的结构&#xff0c;为各行…

暴雨高性能分布式存储为AI提供坚实数据存力

随着两会的圆满落幕&#xff0c;新质生产力和人工智能的发展成为社会各界热议的焦点。总理在两会后的首次调研中&#xff0c;特别强调了新质生产力和人工智能的重要性&#xff0c;这无疑为人工智能产业的蓬勃发展注入了新的动力。 年初&#xff0c;Sora所引领的人工智能热潮更…

安卓百度地图API显示隐藏Marker

方法 BaiduMap.Marker.setVisible(boolean) 实现 List<Marker> list_marker new ArrayList<>(); boolean isShowMarker true;Override public boolean onCreateOptionsMenu(Menu menu) {String[] sm { "显隐信息", "显隐照片", "截…

YOLOv8_seg-Openvino和ONNXRuntime推理【CPU】

纯检测系列&#xff1a; YOLOv5-Openvino和ONNXRuntime推理【CPU】 YOLOv6-Openvino和ONNXRuntime推理【CPU】 YOLOv8-Openvino和ONNXRuntime推理【CPU】 YOLOv7-Openvino和ONNXRuntime推理【CPU】 YOLOv9-Openvino和ONNXRuntime推理【CPU】 跟踪系列&#xff1a; YOLOv5/6/7-O…

(二十五)Flask之MTVMVC架构模式Demo【重点:原生session使用及易错点!】

目录&#xff1a; 每篇前言&#xff1a;MTV&MVC构建一个基于MTV模式的Demo项目&#xff1a;蹦出一个问题&#xff1a; 每篇前言&#xff1a; &#x1f3c6;&#x1f3c6;作者介绍&#xff1a;【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领…

VScode 关闭鼠标悬停提示

设置-文本编辑&#xff0c;然后搜索&#xff1a;Hover:Enanbled,出现如下图&#xff0c;取消勾选即可&#xff1b;

2024常见性能测试工具!

一&#xff1a;如何选择性能工具 选择性能测试工具时&#xff0c;可以从以下几个方面进行考虑&#xff1a; 1. 需求匹配&#xff1a;首先要明确项目的具体需求&#xff0c;比如需要测试的应用类型、协议、负载规模等。确保所选工具能够满足这些需求。 2. 技术兼容性&#xf…

Vue3--数据和方法

data 组件的 data 选项是一个函数。Vue 在创建新组件实例的过程中会自动调用此函数。   data选项通常返回一个对象&#xff0c;然后 Vue 会通过响应性系统将其包裹起来&#xff0c;并以 $data 的形式存储在组件实例中。 <!DOCTYPE html> <html lang"en"&g…

已解决:android SDK安装时点击SDK Manager出现闪退

1、首先确保电脑里边安装了JDK&#xff0c;并且要把安装路径配置在环境变量里边&#xff0c;避免使用绝对路径 推荐%JAVA_HOME%\bin 2、在C:\Users\huanhuan\Desktop\android-sdk-windows\tools路径下找到android.bat文件打开&#xff0c;把set java_exe后改为jdk中java.exe的路…

孪生网络(Siamese Network)和数字孪生的区别?

1. 孪生网络 孪生网络是一种特殊的网络框架&#xff0c;基于两个人工神经网络建立的耦合构架&#xff0c;通过比较两个样本在高维度空间的表征来判断它们的相似程度。它包含两个相同结构的神经网络&#xff0c;一个用于学习&#xff0c;一个用于验证学习效果。在训练过程中&am…

【火猫TV】欧联:8强无弱队,意甲英超球队扎堆,利物浦和药厂优势很大!

2023-2024欧联杯八强正式出炉&#xff0c;马赛、本菲卡、勒沃库森、利物浦、西汉姆联、罗马、亚特兰大和AC米兰成功拿到了晋级名额&#xff0c;于是球迷们即将看到近20年竞争最激烈的欧联杯八强对决。虽然这些队伍实力有强有弱&#xff0c;但是能够拼到现在的球队没有弱旅&…
最新文章