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

news2024/11/19 17:41:38


目录

一.什么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提供了一系列的钩子函数,开发者可以在这些钩子函数中添加自己的逻辑代码,以实现一些特定的功能或处理一些特定的操作。




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

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

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

相关文章

学生党福音!趁着拍拍开学季活动买平板啦!

谁还在买5年前的平板啊&#xff1f; 当然是我&#xff01; 虽然手里有台ipad&#xff0c;但ios系统限制多&#xff0c;不方便&#xff0c;一直想再要一台安卓平板。 去年观望了好久小米平板5pro&#xff0c;想着如果8256G配置价格在1500以下就入手&#xff0c;结果一直不掉价…

4_怎么看原理图之协议类接口之SPI笔记

SPI&#xff08;Serial Peripheral Interface&#xff09;是一种同步串行通信协议&#xff0c;通常用于在芯片之间传输数据。SPI协议使用四根线进行通信&#xff1a;主设备发送数据&#xff08;MOSI&#xff09;&#xff0c;从设备发送数据&#xff08;MISO&#xff09;&#x…

苹果ios群控软件开发常用源代码分享!

在移动软件开发领域&#xff0c;苹果设备由于其封闭性和安全性受到了广大开发者的青睐&#xff0c;然而&#xff0c;这也为开发者带来了一些挑战&#xff0c;特别是在进行群控软件开发时。 群控软件是指可以同时控制多台设备的软件&#xff0c;这在自动化测试、批量操作等场景…

01 MySQL之连接

1. 连接 1.0 基础认知 多表(主表)和一表(从表的区别): 多表一般是主表&#xff0c;一般存储主要数据&#xff0c;每个字段都可能存在重复值&#xff0c;没有主键&#xff0c;无法根据某个字段定位到准确的记录&#xff1b; 一表一般是从表&#xff0c;一般存储辅助数据&…

『Java安全』编译jdk

文章目录 一、源码下载二、环境依赖配置[^1]三、依赖检查及构建编译配置四、编译jdk五、编译完成完 一、源码下载 以OpenJDK为例&#xff1a; jdk&#xff1c;10访问OpenJDK Mercurial Repositories jdk≥10访问子目录jdk/jdk12: log (openjdk.org) 二、环境依赖配置1 i7-…

神经网络结构搜索(NAS)

华为诺亚AI系统工程实验室主任刘文志解读如何使用AutoML预测基站流量 - 知乎讲师介绍&#xff1a;刘文志&#xff08;花名风辰&#xff09;&#xff0c;华为诺亚AI系统工程实验室主任&#xff0c;异构并行计算专家&#xff0c;毕业于中国科学院研究生院&#xff0c;闻名于并行计…

鸿蒙应用程序包安装和卸载流程

开发者 开发者可以通过调试命令进行应用的安装和卸载&#xff0c;可参考多HAP的调试流程。 图1 应用程序包安装和卸载流程&#xff08;开发者&#xff09; 多HAP的开发调试与发布部署流程 多HAP的开发调试与发布部署流程如下图所示。 图1 多HAP的开发调试与发布部署流程 …

全网最详细的接口自动化测试框架实战(Pytest+Allure+Excel)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1. Allure 简介 Allure 框架是一个灵活的、轻量级的、支持多语…

Flink动态分区裁剪

1 原理 1.1 静态分区裁剪与动态分区裁剪 静态分区裁剪的原理跟谓词下推是一致的&#xff0c;只是适用的是分区表&#xff0c;通过将where条件中的分区条件下推到数据源达到减少分区扫描的目的   动态分区裁剪应用于Join场景&#xff0c;这种场景下&#xff0c;分区条件在joi…

【服务发现--ingress】

1、ingress介绍 Ingress 提供从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源所定义的规则来控制。 Ingress 是对集群中服务的外部访问进行管理的 API 对象&#xff0c;典型的访问方式是 HTTP。 Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟…

Nginx网络服务六-----IP透传、调度算法和负载均衡

1.实现反向代理客户端 IP 透传 就是在日志里面加上一个变量 Module ngx_http_proxy_module [rootcentos8 ~]# cat /apps/nginx/conf/conf.d/pc.conf server { listen 80; server_name www.kgc.org; location / { index index.html index.php; root /data/nginx/html/p…

德人合科技 | 天锐绿盾终端安全管理系统

德人合科技提到的“天锐绿盾终端安全管理系统”是一款专业的信息安全防泄密软件。这款软件基于核心驱动层&#xff0c;为企业提供信息化防泄密一体化方案。 www.drhchina.com 其主要特点包括&#xff1a; 数据防泄密管理&#xff1a;天锐绿盾终端安全管理系统能够确保数据在创…

element el-date-picker 日期组件置灰指定日期范围、禁止日期范围日期选择

JS如何将当前日期或指定日期转时间戳_javascript技巧_脚本之家 小于指定日期前的日期置灰 比如这里 指定日期是 2024-02-20 10:48:15 disabledDate(time) time是一个函数提供的时间用于比较 他是一个时间戳↓ 理解为我们想要置灰的时间 time.getTime() < timeStamps- 1 *…

通过一个栗子来看看创建和运行servlet

通过前面一篇文章的介绍&#xff08;搞着搞着对web project是不是有点迷糊&#xff1f;先关注几个问题-CSDN博客&#xff09;大家对于servlet作为中间层接收请求和反馈响应有了概念上的认知&#xff0c;接下来通过一个栗子来加深一下理解&#xff0c;还是基于前面的jsp项目&…

VBA技术资料MF123:程序运行过程中手动切换工作表

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

线程池(ThreadPoolExecutor,as_completed)和scrapy框架初步构建——学习笔记

用法1&#xff1a;map函数 with ThreadPoolExecutor() as pool: results pool.map(craw,utls)for result in results:print(result) 1.Scrapy框架&#xff1a; 五大结构&#xff1a;引擎&#xff0c;下载器&#xff0c;爬虫&#xff0c;调度器&#xff0c;管道&#x…

Opencv实战(3)详解霍夫变换

霍夫变换 Opencv实战系列指路前文&#xff1a; Opencv(1)读取与图像操作 Opencv(2)绘图与图像操作 文章目录 霍夫变换1.霍夫线变换1.1 原理1.2 HoughLines() 2.霍夫圆变换2.1 原理2.2 HoughCircles() 最基本的霍夫变换是从黑白图像中检测直线(线段) 霍夫变换(Hough Transform…

数据界的达克摩斯之剑----深入浅出带你理解网络爬虫(Second)

接上文数据界的达克摩斯之剑----深入浅出带你理解网络爬虫(First)-CSDN博客 一.爬取目标 抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算…

【零基础入门TypeScript】类 - class

目录 创建类 句法 示例&#xff1a;声明一个类 创建实例对象 句法 示例&#xff1a;实例化一个类 访问属性和函数 示例&#xff1a;将它们放在一起 类继承 句法 示例&#xff1a;类继承 例子 输出 TypeScript ─ 类继承和方法重写 静态关键字 例子 实例操作符…

永磁同步电机MTPA与弱磁控制

文章目录 1、前言2、最大转矩电流比&#xff08;MTPA&#xff09;控制数学推导2.1 拉格朗日乘数法2.2 定义法偏导求解 3、MTPA模型仿真搭建和分析3.1 电机参数与设置3.1.1 模型参数设置3.1.2 参数计算脚本3.1.3 模型参数设置示意图 3.2 模型总览3.3 核心模块-MTPA模块3.4 仿真分…