vue-入门介绍

news2025/1/13 20:01:16

​🌈个人主页:前端青山
🔥系列专栏:Vue篇
🔖人终将被年少不可得之物困其一生

依旧青山,本期给大家带来vue篇专栏内容,初识vue入门到项目实战详解

目录

一.Vue介绍

二.初识Vue

工具安装

创建项目

目录结构介绍

项目的运行及注意事项

项目的启停

三.Vue模板语法

插值表达式

指令

一.Vue介绍

作者:尤雨溪

官网:Vue.js - 渐进式 JavaScript 框架 | Vue.js

Vue.js是一套构建用户界面的渐进式框架。声明式渲染和组件系统是Vue的核心库所包含内容。

  • 渐进式:循序渐进,不需要掌握全部的点,学多少用多少

  • 框架:半成品的应用(jQuery也是一个框架)

  • 声明式渲染:(如同js基础一样,要使用变量则必须先声明变量,这种称之为声明式)

Vue.js的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进DOM的系统。

  • 组件化应用构建

组件系统是Vue的另一个重要概念,因为它是一种抽象的允许我们使用小型、独立和通常可复用的“小积木”构建大型应用。几乎任意类型的应用界面都可以抽象为一个组件树。

二.初识Vue

工具安装

网址:npm | Home

## 安装
# -g:全局安装
npm i -g @vue/cli
​
## 安装成功后,检查
vue --version
vue -V
#  Vue和VueCLI是两回事
​
## 卸载(了解)
npm uninstall -g @vue/cli

如果需要安装其他版本,可以使用npm install -g @vue/cli@版本号的方式进行指定版本。

如果最新版安装不成功,可以尝试以下几种方式去解决:

  • 断网,使用热点共享流量去执行安装命令

  • 安装其他版本

  • 切换一下npm镜像源,切换成taobao

  • 卸载nodejs重安装

  • 重装系统/换电脑

vue/cli ≠ vue,切勿将版本搞混

创建项目

脚手架创建初始项目的方式有2种:

  • 通过UI界面方式去创建(了解)

    • 在命令行中输入以下命令启动UI界面:

    • vue ui
  • 通过命令行的方式切创建(推荐)

    • 执行命令:

    • vue create 项目名  
# 首先需要进入到对应的目录中(英文目录不要有空格及中文),执行如下命令
# 如果当前你的终端工作路径带有中文或者空格,你可以使用`cd 路径`形式进行路径切换,切换到符合要求的路径中
vue create 项目名称(创建时会自己以对应的项目名称生成目录)
## 例
vue create myproject
# 上述命令中,可以允许变的就是`myproject`部分

以下步骤以Vue CLI v5.0.8为例,仅供参考,在实际使用时,请以自身需求为准进行配置

  • 预设选择

  • 选择预设功能(根据自身项目需要选择

  • 选择Vue版本

  • 选择css预编译

  • 是否独立配置

  • 是否保存本次操作预设

  • 项目创建成功

vuejs文件分为“.min.js”与“.js”文件,区别在于其中带“.min”这个是生产版本(压缩版),不带“.min”的是测试版本(测试时用的,不压缩的):

  • 生产版本(vue.min.js)

    • 代码压缩(代码不具备可读性)

    • 不支持vue调试工具

  • 开发版本(vue.js)

    • 代码不压缩(代码具备可读性)

    • 支持vue的调试工具

以输出“Hello World”为例,使用Vue.js实现输出“Hello World”案例:

步骤(仅限在vue的非工程化的环境下)

  • 在视图部分定义渲染的容器,正常情况下内容相对固定,一般是:

    • <div id="app"></div>
  • 通过script标签引入下载好的vue.js文件

  • 产生vue实例(js部分,需要去new)

    • 需要给实例传递配置选项(格式是一个对象)

    • 如果可能,会用到一些数据,数据需要在对象中声明(声明式渲染)

  • 如果需要展示数据的话,则需要使用特定的表达式(插值表达式,形式{{表达式}},在视图部分写,哪里需要值就在哪里写)

目录结构介绍
  • public:不需要去改动现有的文件,里面存放的是浏览器访问的入口文件(index.html)

  • src(后期很多操作都在这个目录中完成

    • main.js:项目/程序入口文件 (该文件中JavaScript代码都会被执行)

    • App.vue:根组件(万物之根)

    • components:存放自定义的功能组件(涉及到业务逻辑)

    • assets:静态资源目录(图片、视频、音频等就是静态资源),这里面的静态资源浏览器是无法直接访问的,而是给组件通过模块化的方式导入进组件使用的。

      • 项目中的静态资源有2个地方可以放

        • public:供在public/index.html中直接引入(link标签、script标签)的

        • src/assets:供单文件组件导入时需要的静态资源文件(import ...)

    • views:(当前是没有的,但是后期要用)存放视图组件的(只是涉及到页面的布局排版)

如何很好的划分功能组件与视图组件呢?

小技巧:可以被复用的就算它功能组件,不能被复用的就算它是视图组件。

补充:(readme.md文件中的内容)后续入职的时候项目给到的代码可能不不包含node_modules目录,需要自己执行npm i,随后项目才完整。

项目的运行及注意事项
项目的启停

创建成功

如上图所示,在创建项目完成后有提示我们后续的操作:

  • 在命令行中进入项目目录

  • 运行npm run serve命令来启动项目

按照上述命令执行后,我们会见到如下的效果,即表示项目运行成功:

项目启动成功

注意:默认端口号会从8080开始,如果再次启动其他项目后续会以8081、8082……进行监听。

如果需要停止正在运行的项目,可以选择以下两种方式任一:

  • 关闭终端

  • 在终端中按下组合键Ctrl + C(Cancel),随后选择Y并键入回车(如下图)

  • 也可以按下两次Ctrl + C

关闭项目运行

部分同学的机器在启动vue项目的时候可能会出现卡在“40%”的进度并且长时间不动,如果这样,则直接Ctrl + C停止本次启动,重新再去尝试启动。

==关于项目运行时,如果修改了项目代码是否需要重启的说明:==

是否需要重启取决于我们修改了什么内容,如果只是修改了代码部分(js、css、vue文件等)是不需要开发者手动重启项目的,系统会自动重新编译(有点nodemon感觉);但是如果修改的是配置文件,则必须需要自己先去停止项目,然后再去启动项目(手动实现重启)

三.Vue模板语法

插值表达式

插值表达式:是vue框架提供的一种在HTML模板中绑定数据的方式,使用{{变量名}}方式绑定Vue实例中data中的数据变量,会将绑定的数据实时的在视图中显示出来。

插值表达式的写法支持使用:

  • 变量名

  • 部分JavaScript表达式

    • 注:{{ }}括起来的区域,就是一个就是js语法区域,在里面可以写部份的js语法。不能写 var a = 10;分支语句;循环语句

  • 三元运算符

  • 方法调用(方法必须需要先声明)

  • ...

<body>
    <div id="app">
        <!-- 直接使用变量名 -->
        <h5>{{name}}</h5>
        <!-- 运算 -->
        <h5>{{name + '--好的'}}</h5>
        <h5>{{ 1 + 1 }}</h5>
        <!-- 使用函数 -->
        <h5>{{title.substr(0,6)}}</h5>
        <!-- 三目运算 -->
        <h5>{{ age > 18 ? '成年' : '未成年'}}</h5>
    </div>
</body>
<script src="./js/vue.js"></script>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            title: "我是一个标题,你们看到没有",
            name: "张三",
            age: 20,
        },
    });
</script>
指令

什么是指令?

  • 指令的本质就是标签中的vue自定义属性
  • 指令格式以“v-”开始,例如:v-cloak,v-text、v-html等

指令的含义:在vue的html中,以v-开头的自定义属性就是指令。

详见官网对指令的说明:API — Vue.js

<body>
    <div id="app">
        <!-- 插值表达式形式 -->
        <div>{{str1}}</div>
        <!-- 插值表达式此时与v-text是等效的 -->
        <div v-text='str2'></div>
        <div v-html='str1'></div>
    </div>
</body>
​
<script src="./js/vue.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            str1: '迫使 Vue 实例重新渲染。注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件。',
            str2: '<a href="http://www.baidu.com">百度</a>'
        }
    })
</script>

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

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

相关文章

主题模型LDA教程:一致性得分coherence score方法对比(umass、c_v、uci)

文章目录 主题建模潜在迪利克雷分配&#xff08;LDA&#xff09;一致性得分 coherence score1. CV 一致性得分2. UMass 一致性得分3. UCI 一致性得分4. Word2vec 一致性得分5. 选择最佳一致性得分 主题建模 主题建模是一种机器学习和自然语言处理技术&#xff0c;用于确定文档…

文心耀乌镇,“大模型之光”展现了什么?

“乌镇的小桥流水&#xff0c;能照见全球科技的风起云涌。” 多年以来&#xff0c;伴随着中国科技的腾飞&#xff0c;以及世界互联网大会乌镇峰会的连续成功举办&#xff0c;这句话已经成为全球科技产业的共识。乌镇是科技与互联网的风向标、晴雨表&#xff0c;也是无数新故事开…

2023-11-11 LeetCode每日一题(情侣牵手)

2023-11-11每日一题 一、题目编号 765. 情侣牵手二、题目链接 点击跳转到题目位置 三、题目描述 n 对情侣坐在连续排列的 2n 个座位上&#xff0c;想要牵到对方的手。 人和座位由一个整数数组 row 表示&#xff0c;其中 row[i] 是坐在第 i 个座位上的人的 ID。情侣们按顺…

SQL必知会(二)-SQL查询篇(4)-高级过滤

第5课、高级过滤 组合 WHERE 子句 AND OR&#xff1a;与条件、或条件 多个 WHERE 子句有两种使用方式&#xff1a;AND 子句 或 OR 子句。 1&#xff09;AND 操作符 AND 相当于编程语言中的与条件。 需求&#xff1a;如果某个产品由供应商 DLL01 制造&#xff0c;但价格不高…

java项目之共享充电宝管理系统(ssm框架)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的共享充电宝管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 管理员&#xff1a;首页、个…

Shell编程入门--概念、特性、bash配置文件

目录 一、Shell概念1.定义2.分类和使用场景2.1.分类和切换2.2.使用场景 3.特性3.1.文件描述符与输出重定向3.2.历史命令---history3.3.别名 --alias3.4.命令排序执行3.5.部分快捷键3.6.通配符置换 4.脚本规范5.脚本运行方式5.1.bash脚本执行5.2.bash脚本测试 二、bash配置文件1…

Oracle(18)Auditing

文章目录 一、基础知识1、审计介绍2、Auditing Types 审计类型3、Auditing Guidelines 审计准则4、Auditing Categories 审核类别5、Database Auditing 数据库审计6、Auditing User SYS 审计sys用户7、Getting Auditing Informatio 获取审计信息8、获取审计记录通知 二、基础操…

(三)、MySQL索引

一、索引基础 索引是存储引擎用于快速找到记录的一种数据结构。(可以理解为一本书的目录)。 例子&#xff1a;where id1 如果在id列上建有索引&#xff0c;则MySQL将使用该索引找到id为1的行&#xff0c;也就是说&#xff0c;MySQL先在索引上按值进行查找&#xff0c;然…

Java10新增特性

版本介绍 Java 10 的发布时间是2018年3月20日。这是在Java 9之后&#xff0c;采用了基于时间发布的策略&#xff0c;每6个月一个版本。这是采用新的发布策略之后的第一个版本。 Java 10 是Java版本历史上最快的一个版本。它打破了Java缓慢增长和进化的概念。它是一个具有许多…

【树与二叉树的转换,哈夫曼树的基本概念】

文章目录 树与二叉树的转换将二叉树转化为树森林与二叉树的转化&#xff08;二叉树与多棵树之间的关系&#xff09;二叉树转换为森林森林的先序遍历1&#xff09;先序遍历2&#xff09;后序遍历 哈夫曼树的基本概念森林转换成二叉树&#xff08;二叉树与多棵树的关系&#xff0…

Sensor 点亮出图后,颜色偏红或者偏绿是为什么?

这是因为 sensor balck level 的值配置的不正确导致&#xff0c;black level 的值一般在效果参数的 calibration 参数里面。 在驱动调试阶段&#xff0c;我们一般都是复用其他已调试好的&#xff0c;sensor 的驱动文件及效果文件&#xff0c; 而不同 sensor 的 balck level 的…

YOLOv8-Seg改进:分割注意力系列篇 | 高效的通道先验卷积注意力(CPCA) | 中科院 2023.6

🚀🚀🚀本文改进:高效的通道先验卷积注意力(CPCA)方法,支持注意力权重在通道和空间维度上的动态分布; 🚀🚀🚀CPCA 小目标分割检测&复杂场景首选,实现涨点 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,从入门到创新…

奇舞周刊第510期:浏览器和图形引擎渲染对比

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 浏览器和图形引擎渲染对比 本文从介绍浏览器渲染引擎开始&#xff0c;逐渐引出和图形引擎的比较&#xff0c;尝试从图形视角探索和理解浏览器的渲染原理。 Next.js的崛起&#xff…

消息队列使用场景

&#x1f388;个人公众号:&#x1f388; :✨✨✨ 可为编程✨ &#x1f35f;&#x1f35f; &#x1f511;个人信条:&#x1f511; 知足知不足 有为有不为 为与不为皆为可为&#x1f335; &#x1f349;本篇简介:&#x1f349; 本篇记录消息队列使用场景&#xff0c;如有出入还望…

基于STC12C5A60S2系列1T 8051单片机串口通信信应用

基于STC12C5A60S2系列1T 8051单片机串口通信应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功能寄存器列表基于STC12C5A60S2系列1T 8051单片…

力扣字符串--总结篇

前言 字符串学了三天&#xff0c;七道题。初窥kmp&#xff0c;已经感受到算法的博大精深了。 内容 对字符串的操作可以归结为以下几类&#xff1a; 字符串的比较、连接操作&#xff08;不同编程语言实现方式有所不同&#xff09;&#xff1b; 涉及子串的操作&#xff0c;比…

Sagemaker基础操作指南

简介 Amazon SageMaker是亚马逊AWS提供的一项托管式机器学习服务&#xff0c;旨在简化和加速机器学习开发的整个生命周期。它为机器学习工程师和数据科学家提供了一套完整的工具和功能&#xff0c;用于构建、训练、调优和部署机器学习模型。本文将会通过一个简单的例子&#x…

linux_day02

1、链接&#xff1a;LN 一个点表示当前工作目录&#xff0c;两个点表示上一层工作目录&#xff1b; 目录的本质&#xff1a;文件&#xff08;该文件储存目录项&#xff0c;以链表的形式链接&#xff0c;每个结点都是目录项&#xff0c;创建文件相当于把目录项添加到链表中&…

111111111111111

全局锁 就是对整个数据库进行加锁&#xff0c;加锁之后整个数据库就处于只读状态&#xff0c;后续的DML写语句&#xff0c;DDL语句&#xff0c;以及对更新事务的提交操作都会被阻塞&#xff0c;典型地使用场景就是做整个数据库的逻辑备份&#xff0c;对所有的表进行锁定&#x…

LIBGDX实时绘制字符、实时绘制中文

LIBGDX实时绘制字符、实时绘制中文 转自&#xff1a;https://lingkang.top/archives/libgdx-shi-shi-hui-zhi-zi-fu 注意&#xff0c;相比于贴图字体&#xff0c;实时绘制会有一定的失真、模糊 Maven项目依赖&#xff1a; <properties><maven.compiler.source>…