Vue项目 快速上手(如何新建Vue项目,启动Vue项目,Vue的生命周期,Vue的常用指令)


目录

一.什么Vue框架

二.如何新建一个Vue项目

1.使用命令行新建Vue项目

2.使用图形化界面新建Vue项目

三.Vue项目的启动

启动Vue项目

1.通过VScode提供的图形化界面启动Vue项目

2.通过命令行的方式启动Vue项目

四.Vue项目的基础使用 

常用指令

v-bind 和 v-model

v-on

v-if  

v-show

v-for

Vue的生命周期


一.什么Vue框架

Vue是一种用于构建用户界面的JavaScript框架。它是一种轻量级、高效的前端框架,被广泛用于开发单页面应用(SPA)和响应式的Web应用程序。Vue具有简洁的语法、灵活的组件化架构和强大的工具集,使开发者能够快速、高效地构建交互性强、数据驱动的Web应用。Vue也是一个逐渐流行的框架,拥有庞大的社区和丰富的生态系统,为开发者提供了丰富的资源和支持。 

Vue框架相对于传统的JavaScript具有许多优势,主要包括:

  1. 组件化开发: Vue鼓励使用组件化的方式构建用户界面,将页面拆分成多个独立的、可复用的组件,使得代码更加模块化、可维护性更高。

  2. 响应式数据绑定: Vue使用了响应式的数据绑定机制,当数据发生变化时,视图会自动更新,开发者不需要手动操作DOM,提高了开发效率。

  3. 简洁易学: Vue的API设计简洁明了,学习曲线较为平缓,即使是新手也能较快上手。

  4. 灵活性: Vue并不强制使用特定的工具链或项目结构,开发者可以根据自己的需求选择合适的工具和方式进行开发。

  5. 生态系统丰富: Vue拥有庞大而活跃的社区,提供了许多第三方库和工具,能够满足各种不同的需求。

  6. 性能优化: Vue具有虚拟DOM和diff算法等性能优化机制,能够有效减少DOM操作,提升页面性能。

总的来说,Vue框架使得前端开发更加简单、高效、灵活,能够帮助开发者更快速地构建出高质量的Web应用。


二.如何新建一个Vue项目

我们可以通过俩种方式新建一个Vue项目:

  1. 命令行
  2. 图形化界面

1.使用命令行新建Vue项目

首先,我们在任意位置新建一个文件夹,名字随意

然后双击进入这个文件夹,并且在上方路径中输入 cmd 打开控制面板

然后输入下面的代码,其中将 vue-pojectName 替换为自己想起的项目名

vue create vue-pojectName

2.使用图形化界面新建Vue项目

以上述同样的方式和同样的位置打开 cmd 然后输入:

vue ui

然后就会在浏览器中自动打开图形化界面

 点击创建

然后编辑相关信息

因为我们是Node.js环境,所以就选包管理器中的 npm

然后根据自己的需求选择预设

这里笔者选择的是手动,选择手动后就可以自定义需要哪些功能不需要哪些功能

点击下一步,配置Vue的版本和语法检测

然后我们耐心等待,项目就创建好了

我们此时去磁盘上查看的话就能看见我们的项目,我们就可以使用VScode打开项目了

三.Vue项目的启动

关于Vue项目的目录结构,我们需要有基础的认知

其中:

  • node_modules:包含了整个项目的依赖包
  • public:存放整个项目的静态文件
  • src:存放整个项目的源代码
  • package.json:包含模块的基本信息,项目开发所需模块,版本信息
  • vue.config.js:保存cue配置的文件,如代理和端口的配置等

src 中:

  • assets:存放静态资源
  • components:存放可重用的组件
  • router:路由配置
  • views:视图组件(页面)
  • App.vue:入口页面(根组件)
  • main.js:入口js文件

启动Vue项目

关于启动Vue项目,我们也可以通过2种方式运行:

  1. VScode提供的图形化界面 
  2. 命令行

1.通过VScode提供的图形化界面启动Vue项目

安装下方图示 NPM脚本 ——> serve 

然后就按住 ctrl 的同时点击链接就可以了

2.通过命令行的方式启动Vue项目

首先我们在项目中打开 cmd 然后输入

npm run serve

同样的按住 ctrl 的同时点击链接就可以了

四.Vue项目的基础使用 

常用指令

常用指令:
v-bind :为HTML标签绑定属性值,如设置href,css样式等
v-model :在表单元素上创建双向数据绑定
v-on :为HTML标签绑定事件
v-if :
v-else-if :条件渲染,true渲染,否则不渲染
v-else :
v-show :根据条件展示某元素
v-for :

列表渲染,遍历容器的元素或者对象的属性

笔者这里只是给出相关指令的使用案例

v-bind 和 v-model

<body>
    <div id="app">
        <a v-bind:href="url">链接1</a>
        <a :href="url">链接2</a>
        <input type="text" v-model="url">
    </div>
</body>

<script>
    new Vue({
        el:"#app",
        data:{
            url:"https://luming.blog.csdn.net/"
        }
    })
</script>

v-on

    <div id="app">
        <input type="button" value="按钮一" v-on:click="handle()">
        <input type="button" value="按钮二" @click="handle()">
    </div>
<script>
    new Vue({
        el:"#app",
        methods: {
            handle:function(){
                alert("按钮已被点击!");
            }
        }
    })
</script>

v-if  

    <div id="app">
        年龄:<input type="text" v-model="age1">
        经判定为:
        <span v-if="age1 <= 35">年轻人(35岁以下)</span>
        <span v-else-if="age1 > 35 && age1 < 60">中年人(35到60岁之间)</span>
        <span v-else>老年人(大于等于60岁)</span>
    </div>
<script>
    new Vue({
        el:"#app",
        data:{
            age1:20
        }
    })
</script>

v-show

    <div id="app">
        年龄:<input type="text" v-model="age2">
        经判定为:
        <span v-show="age2 <= 35">年轻人(35岁以下)</span>
        <span v-show="age2 > 35 && age2 < 60">中年人(35到60岁之间)</span>
        <span v-show="age2 >= 60">老年人(大于等于60岁)</span>
    </div>
<script>
    new Vue({
        el:"#app",
        data:{
            age2:25
        }
    })
</script>

v-for

    <div id="app">
        <hr>
        <div v-for="addr in address">{{addr}}</div>
        <hr>
        <div v-for="(addr, index) in address">{{index+1}}:{{addr}}</div>
    </div>
<script>
    new Vue({
        el:"#app",
        data:{
            address:["北京","天津","上海","西安"]
        }
    })
</script>

Vue的生命周期

Vue组件的生命周期分为创建、挂载、更新和销毁四个阶段。

1. 创建阶段:

  • beforeCreate:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前调用。
  • created:实例已经创建完成之后被调用,可以在这个阶段进行数据的初始化,如异步请求数据等。

2. 挂载阶段:

  • beforeMount:在挂载开始之前被调用,模板编译/render函数首次调用之前。
  • mounted:el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子,实例挂载之后调用,可以访问到渲染后的DOM元素。

3. 更新阶段:

  • beforeUpdate:数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。
  • updated:由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。

4. 销毁阶段:

  • beforeDestroy:实例销毁之前调用,这个阶段可以进行一些清理操作,比如清除定时器。
  • destroyed:Vue实例销毁后调用,此时实例已经被完全销毁,所有的事件监听器会被移除,所有的子实例也会被销毁。

在每个阶段中,Vue提供了一系列的钩子函数,开发者可以在这些钩子函数中添加自己的逻辑代码,以实现一些特定的功能或处理一些特定的操作。




 本次的分享就到此为止了,希望我的分享能给您带来帮助,也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见

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

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

相关文章

【Unity每日一记】角色控制器Character Contorller

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

c# .net8 香橙派orangepi + hc-04蓝牙 实例

这些使用c# .net8开发,硬件 香橙派 orangepi 3lts和 hc-04蓝牙 使用场景:可以通过这个功能,手机连接orangepi进行wifi等参数配置 硬件: 1、带USB口的linux开发板orangepi 2、USB 转TTL 中转接蓝牙(HC-04) 某宝上买的蓝牙官方网有调试工具:HC-T串口助手 https://www…

leetcode 3.反转链表;

1.题目&#xff1a; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 2.用例&#xff1a; 3.题目解析&#xff1a; &#xff08;1&#xff09;函数头&#xff1a; 要求返回结点&#xff0c;就 ListNode* reverseList(ListNode* head)&…

【数据开发】大数据岗位,通用必备技术栈(数据分析、数据工程、数据科学)

【数据开发】大数据岗位&#xff0c;通用必备技术栈&#xff08;数据分析、数据工程、数据科学&#xff09; 文章目录 1、岗位与技术要求1.1 常见岗位介绍1.2 行业发展方向1.3 附部分JD 2、数据开发技术栈2.1 数据处理流程2.2 学习路线与框架 3、数据分析技术栈3.1 基础知识3.2…

如何一步一步地优化LVGL的丝滑度

经过一番周折将LVGL移植到了STM32F407单片机上&#xff0c;底层驱动的LCD是st7789&#xff0c;移植时的条件和环境如下&#xff1a; ●LVGL用的是单缓冲&#xff0c;一次刷新10行&#xff1b; ●刷新函数用的是最原始的一个一个打点的方式&#xff1b; ●ST7789底层发送数据用的…

【MySQL】学习和总结标量子查询

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-kLo6jykc7AcEVEQk {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

JMeter--9.录制脚本

录制步骤 1.新建线程组&#xff1a;测试计划->线程->线程组 测试计划下&#xff0c;至少要有1个线程组&#xff0c;因为在录制器中需要选择【目标控制器】 2. 新建录制器&#xff1a;测试计划->非测试原件->HTTP(S)测试脚本记录器&#xff08;HTTP代理服务器&…

Linux磁盘如何分区?

首先需要先给虚拟机添加磁盘 sblk #查看磁盘设备 得到以下内容&#xff1a; NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 pa…

毕业后的那两年,我是怎么从一个啥也不会的小白成长为成熟职场人的?

对于2023应届生而言&#xff0c;从毕业到踏入职场也许正是你人生中很大的一个变化&#xff0c;但在初入职场的期间&#xff0c;很多同学很容易因为一些经验问题而误入弯路。 笔者从一个职场萌新到如今的职场老人&#xff0c;一路走来也经历了不少社会毒打。在职场生涯中&#…

kubectl 命令行管理K8S(上)

目录 陈述式资源管理方式 介绍 命令 项目的生命周期 创建 kubectl create命令 发布 kubectl expose命令 更新 kubectl set 回滚 kubectl rollout 删除 kubectl delete 应用发布策略 金丝雀发布 陈述式资源管理方式 介绍 1.kubernetes 集群管理集群资源…

Nest.js权限管理系统开发(八)jwt登录

安装相关依赖 虽然仅使用nestjs/jwt就能实现身份验证的功能&#xff0c;但是使用passport能在更高层次上提供更多便利。Passport 拥有丰富的 strategies 生态系统&#xff0c;实现了各种身份验证机制。虽然概念简单&#xff0c;但你可以选择的 Passport 策略集非常丰富且种类繁…

kotlin与java的相互转换

Kotlin转java 将kotlin代码反编译成java Tools -> Kotlin -> Show Kotlin Bytecode 然后点击 【Decompile】 生成java代码 java转kotlin Code -> Convert Java File To Kotlin File

Netty入门指南:从零开始的异步网络通信

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Netty入门指南&#xff1a;从零开始的异步网络通信 前言Netty简介由来&#xff1a;发展历程&#xff1a;异步、事件驱动的编程模型&#xff1a; 核心组件解析通信协议高性能特性异步编程范式性能优化与…

2055041-59-1,NH-(PEG4-acid)2,能将基因和蛋白质导入到细胞内

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;2055041-59-1&#xff0c;NH-bis(PEG4-acid) HCl salt&#xff0c;NH-(PEG4-acid)2&#xff0c;NH-bis(PEG4-acid)&#xff0c;NH-BIS(四聚乙二醇-羧酸) 盐酸盐 一、基本信息 【产品简介】&#xff1a;NH bis (PEG4…

全新抖音视频下载软件|批量视频下载工具

随着抖音平台上精彩视频的不断涌现&#xff0c;许多用户希望能够方便地保存自己喜欢的视频内容&#xff0c;以便随时观看或分享给朋友。为了满足这一需求&#xff0c;我们基于C#开发了一款全新的视频下载软件&#xff0c;为您提供便捷、高效的视频获取体验。 主要功能模块&…

redis-Redis主从,哨兵和集群模式

一&#xff0c;Redis的主从复制 ​ 主机数据更新后根据配置和策略&#xff0c; 自动同步到备机的master/slaver机制&#xff0c;Master以写为主&#xff0c;Slave以读为主。这样做的好处是读写分离&#xff0c;性能扩展&#xff0c;容灾快速恢复。 1.1 环境搭建 如果你的redi…

Unity(第六部)向量的理解和算法

标量:只有大小的量。185 888 999 &#xff08;类似坐标&#xff09; 向量:既有大小&#xff0c;也有方向。&#xff08;类似以个体为主体的方向&#xff0c;前方一百米&#xff09; 向量的模:向量的大小。&#xff08;类似以个体为主体的方向&#xff0c;前方一百米、只取一百米…

计算机设计大赛 深度学习实现语义分割算法系统 - 机器视觉

文章目录 1 前言2 概念介绍2.1 什么是图像语义分割 3 条件随机场的深度学习模型3\. 1 多尺度特征融合 4 语义分割开发过程4.1 建立4.2 下载CamVid数据集4.3 加载CamVid图像4.4 加载CamVid像素标签图像 5 PyTorch 实现语义分割5.1 数据集准备5.2 训练基准模型5.3 损失函数5.4 归…

软件测试笔记(三):黑盒测试

1 黑盒测试概述 黑盒测试也叫功能测试&#xff0c;通过测试来检测每个功能是否都能正常使用。在测试中&#xff0c;把程序看作是一个不能打开的黑盒子&#xff0c;在完全不考虑程序内部结构和内部特性的情况下&#xff0c;对程序接口进行测试&#xff0c;只检查程序功能是否按…

nginx实现http反向代理及负载均衡

目录 一、代理概述 1、代理概念 1.1 正向代理&#xff08;Forward Proxy&#xff09; 1.2 反向代理&#xff08;Reverse Proxy&#xff09; 1.3 正向代理与反向代理的区别 2、同构代理与异构代理 2.1 同构代理 2.2 异构代理 2.3 同构代理与异构代理的区别 二、四层代…