Vue3 如何轻松上手?请看入门级教学

序言

这篇文章我会先来带大家一起认识一下Vue3然后熟悉一下基本语法,过程不难,大佬跳过♥

体验

示例1(文本编写)

当我们想在一个HTML页面输出'Hello World'有什么写法?

html 复制代码
<body>
    <div id="app">
        <h2>Hello World</h2>
    </div>
</body>

很简单,但如果我们要用Vue完成同样的操作呢?

首先,可以通过脚本标签直接从CDN中使用Vue,然后在head标签内将这段脚本标签导入进去就可以了。于是我们就可以在body页面中编写JS实现动态管理静态页面功能。

html 复制代码
<body>
        <div id="app"></div>
<script>        
        const msg = 'Hello World'

        const tel = {
            template: `<h2>${msg}</h2>`
        }
        const app = Vue.createApp(tel)
        app.mount('#app')
    </script>
</body>    

将脚本标签导入到head标签中后,我们首先定义一个字符串变量msg,值为'Hello World',然后定义一个对象,里面有一个属性,键名为template,键值为一个字符串模板,然后我们需要创建一个Vue对象并把tel对象作为参数传给这个实例对象,最后将这个对象其实也就是字符串模板,挂载到id为app的容器上。在底层机制中,Vue 会将模板编译成高度优化的 JavaScript 代码。结合响应式系统,当应用状态变更时,Vue 能够智能地推导出需要重新渲染的组件的最少数量,并应用最少的 DOM 操作。

示例2(优化编写格式)

如果我们原本在一个容器里面已经有文本为"你好世界",但是我们想把它替换成英文版的,用Vue可以怎么做呢?类似地,在此之前先导入CDN脚本文件。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>

然后开始编写JS和来实现页面的展示:

html 复制代码
<body>
<div id="app">你好世界</div>
    <script type="x-template" id="template">
        <div>
            <h2>{{message}}</h2>
        </div>
    </script>

    
    <script>
        // console.log(document.getElementById('template'));
        Vue.createApp({
            template:'#template',
            data:function(){
                return{
                    message:'Hello World'
                } 
            }
        }).mount('#app')

    </script>
</body>

原本页面是有一个你好世界的,但是后续操作会使页面只显示一个Hello World

我们发现在script标签写一大堆html代码会很麻烦,因为根本没有提示,但是HTML自带了一种类型可以解决这个问题,当我们给script标签添加上 type=x-template时,我们在这里面编写模板的时候也会有提示。后续就是同样的操作,创建的一个Vue实例对象,并挂载到id为app的容器身上,接着编写模板template和数据源data,我们运行一下,效果如下:

示例3(实现动态交互)

如果我们想要在页面实现有一个数字,并且有两个按钮,当分别点击他们时,会使这个数字+1或者-1这个功能时,用Vue应该怎么编写呢?

html 复制代码
<body>
    <div id="app"></div>
    <template id="tel">
        <div>
            <h2>{{count}}</h2>
            <button @click="add">加1</button>
            <button @click="minus">减1</button>
        </div>
    </template>
    
    <script>
        Vue.createApp({
            template:'#tel',
            data:function(){
                return{
                    count:1
                }
            },
            methods:{
                add:function(){
                    this.count++
                },
                minus:function(){
                    this.count--
                }
            }
        }).mount('#app')
    </script>
    
</body>

在HTML5后规定标签没有名字限制要求,所以我们直接使用标签名为template的标签来编写模板;因为要实现点击按钮使数字改变,所以我们需要捕捉到按钮这个动物结构,并且添加一个点击事件,在Vue中我们可以直接用@click来给对应的元素添加点击事件,然后后面的内容就是我们要编写的函数,于是我们在数据源data中编写两个函数add()minus(),这里面的this指向的就会是Vue的实例对象,也就可以取到count这个变量,然后只需要对其进行操作就可以啦。

总结

在今天这篇文章中我们对于Vue有了一个基本的认识,它是一个框架,能够让我们实现在JS中编写HTML页面,使原本静态的页面,能够通过JS代码动态变化实现页面的动态变化,然后在Vue3中还有许多常见的指令,有了他们,不用再写一大堆代码,要实现动态交互页面,借助Vue3,拆开即可食用。

结语

那么到了这里我们今天的文章就结束啦~

创作不易,如果感觉这个文章对你有帮助的话,点个赞吧♥

更多内容map()和parseInt()都搞懂了,那Array.map(parseInt)呢?

博主的开源Git仓库: gitee.com/cheng-bingw...

相关推荐
Smile_Gently3 分钟前
Ubuntu环境 nginx.conf详解(二)
运维·服务器·前端·nginx·ubuntu
m0_7482338832 分钟前
黑马程序员JavaWeb开发教程(前端部分) ---笔记分享
前端·笔记
温轻舟38 分钟前
前端开发 -- 自定义鼠标指针样式
开发语言·前端·javascript·css·html·温轻舟
冰镇屎壳郎1 小时前
前端安全 常见的攻击类型及防御措施
前端·安全·前端安全
2401_857617621 小时前
“无缝购物体验”:跨平台网上购物商城的设计与实现
java·开发语言·前端·安全·架构·php
2401_857439691 小时前
智慧社区电商系统:提升用户体验的界面设计
前端·javascript·php·ux
我是高手高手高高手2 小时前
ThinkPHP8多应用配置及不同域名访问不同应用的配置
linux·服务器·前端·php
小李小李不讲道理2 小时前
行动+思考 | 2024年度总结
前端·程序员·年终总结
uhakadotcom2 小时前
代码人生-精选文章周刊
前端·后端·github
苹果酱05672 小时前
Golang的文件解压技术研究与应用案例
java·vue.js·spring boot·mysql·课程设计