【Vue】VueCLI 的使用和单文件组件(2)

news2024/10/6 10:38:13

首先作为一个工程来说,
一般我们的源代码都放在src目录下:

外面的代码我们先不去管它,后面在工程编写的时候再给大家仔细的介绍。‍‍

这块大家主要知道我们的源代码 都在src里面,它的入口文件是一个man点js文件,‍‍

我们看看这个文件的写法:

以前我们去使用 Vue 的时候,因为我们是通过一个js代码去直接使用 Vue 的,‍‍
现在我们通过webpack 去管理我们的工程,
然后我们就可以在里面通过import这样的语法来去引入一些内容了:

create在干什么?
ta是创建一个 Vue 的应用,然后把应用挂到页面上,‍‍

id等于app的dom节点上,
所以你可以看到main.js 它里面写的代码其实非常容易懂,

就是创建一个 app 这样的 Vue 的应用,然后挂到这个节点上。‍‍

那么 app 应用从哪来?

指的是 app 组件,来自于我当前目录下的 App.vue 这个文件,
我看一下当前目录下‍‍是不是有 App.vue,

确实有。
我打开 App.vue 这个文件,

然后下载工具:
Vetur —— 语法提示

这块就是 Vue 的一些代码:

但看起来好像和我们之前写的代码不一样,‍‍
我们怎么去理解这块的内容?
李哥,您怎么讲?

非常简单,我们可以看到‍‍App.vue 这样的一个文件里面它有三部分,

第一部分叫做template,‍‍
第二部分叫做script,也就是js代码,
第三部分就是样式的代码,

比如说我写了一个对象,里面有components注册一个局部组件:

我写一个template‍‍里面去写一堆这样的div的模板,
以前我们是这么去写的,‍‍

但是当你用脚手架生成工程之后,‍‍我们在点vue的这样的后缀的文件里面,

就没有必要把template写在这样的一个对象的属性里面去了,‍‍

我可以直接把模板放到这样的一个template标签里去管理:

所以相当于你这里写了一个template,就是我们之前写的template这么样的一个语法,‍‍
然后里面写了这一堆的内容,‍‍

所以我们在这个点vue文件里 把这个模板放到 上面的一个template标签里面去写:

一定要记住,
当你去用工程化的‍‍结构写代码的时候,我们要这么去写,把模板摘离出来,‍‍
样式的东西我们就可以写在下面的style这样的标签里面去:

比如说我写了‍‍#app下面的一些样式的修饰效果,‍‍
你可以在这里写样式,

App.vue 里面,首先我们放的是一个组件,
大家要记得‍‍组件里面它的样式修饰写在style里面,

它的模板写在 template 里面,‍‍而组件的核心逻辑是放在 script 里去编写的。‍‍

组件有个name叫做 app,
它就是一个根的组件,或者说 Vue 的根示例,‍‍

这里面它用了一个局部组件叫做HelloWrold:

局部组件从哪来的?

局部组件是从 当前目录下的components目录下的 HelloWrold点vue里面找过来的,‍‍

所以它注册了局部组件之后,它在模板里面使用了局部组件:

想象一下,现在 vue 的 根实例 里面它展示的内容是什么?‍‍

首先它展示一个img,也就是这个模板里有一个图片:

然后它展示了一个 HelloWrold 这个组件,‍‍

我们看一下HelloWrold组件在哪写的,在 components下有一个HelloWrold:

我们看一下 HelloWrold,‍‍ HelloWrold里面写了非常多的内容:

我可以把这个内容给它清一下,我们留一个最简单的msg,
我们看 HelloWorld 的组件,‍‍
其实在App点vue里面,

我们使用HelloWrold组件,HelloWrold 是不是就是一个子组件或者说一个局部组件?

HelloWrold 里面‍‍做了一些什么样的事情?
看代码:

解读代码:

首先它定义组件的名字叫做HelloWrold,【name 属性】

然后它定义了它接受一个参数,【props 属性】

msg 类型是一个string类型,

这个组件它的模板展示的是什么?‍‍

展示的是(改成简单版的):

这个msg从哪来的?
是不是父组件传递过来的msg?‍‍

我看App点vue父组件,‍‍调用HelloWrold的时候,

有没有传递一个message过来,是传递了一个Welcome 巴拉巴拉:

父组件调用一下 HelloWrold 子组件,

HelloWrold里面‍‍接收父组件传递过来的一个 msg 参数,把它展示出来。
页面效果是:

一张图,然后加一个Welcome 巴拉巴拉。

当我们去通过脚手架生成项目的时候,再去写 Vue 的代码,就不像之前那么简单了,
你直接去写一个demo,‍‍直接引一个js那么去写,你需要了解一个新的语法结构,

就是这个点vue文件它的写法,‍‍App点vue文件,

其实我们把它叫做一个单文件组件,
什么叫单文件组件?‍‍‍‍

其实单文件组件就是这个文件就代表了一个组件,我们看这个文件怎么代表一个组件?

组件它的模板是什么?

在这个文件里是不是通过template就定义好了?

组件的样式是什么样子?
是不是通过style就定义好了?‍‍

组件的逻辑是什么样的?

是不是在script里面去定义好了?

所以对一个组件来说,模板‍‍样式以及它的‍‍逻辑都封装到一个点vue文件里去管理,
我们把这种点vue的文件叫做一个单文件组件,‍‍

所以后面我们就不会比较原始的去写demo的形式写代码了,
而是更多的会以这种‍‍工程化的角度去写这种 vue 的代码。‍‍

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

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

相关文章

【day21】每日一题——MP3光标位置

MP3光标位置_牛客题霸_牛客网 这题就是简单的根据它的规则把它的情况都列举出来即可(当然,我第一次写一脸懵逼,所以你现在一脸懵逼没事,看完你就觉得简单了。看完还懵逼,你就多看几遍,然后自己去尝试一下&a…

C/C++,不废话的宏使用技巧

经典废话 下面的所有内容全是我在欣赏一串代码时发出的疑问,之前对宏的了解不多,导致在刚看到下面的这串代码的时候是“地铁 老人 手机”,具体代码如下,如果有对这里解读有问题的欢迎在评论区留言。 一、预定义宏 编译一个程…

在线就能制作活动邀请函,一键生成链接

今天小编教你如何在线制作一个活动邀请函,不需要下载软件,也不需要编程代码,只需使用乔拓云工具在线一键就能生成活动邀请函和邀请函链接,下面就跟着小编的教学开始学习如何在线制作活动邀请函!第一步:打开…

[附源码]java毕业设计SSM归途中流浪动物收容与领养管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

OSPF高级配置——虚接口,NSSA

作者介绍: 作者:小刘在C站 每天分享课堂笔记,一起努力,共赴美好人生! 夕阳下,是最美的绽放。 目录 一.ospf 虚链路 二.虚链路的目的 三.配置虚链路的规则及特点 四.虚链路的配置: nssa …

HTML小游戏6 —— 《高达战争》横版射击游戏(附完整源码)

💂 网站推荐:【神级源码资源网】【摸鱼小游戏】🤟 风趣幽默的前端学习课程:👉28个案例趣学前端💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】💬 免费且实用的计算机相关知…

奥密克戎 (Omicron) 知多少m?| MedCheExpress

这个冬天 Omicron 已迅速超越其他变种,成为主要的 SARS-CoV-2 毒株,尽管该变体在体内引起的病毒水平与其“竞争对手” Delta 相比更低,但威力不容小觑。 ■ 第五大变异关注病毒株,有何神奇之处? 2021 年 11 月 24 日&…

深度自定义mybatis

> 回顾mybatis的操作的核心步骤 > > 编写核心类SqlSessionFacotryBuild进行解析配置文件 > 深度分析解析SqlSessionFacotryBuild干的核心工作 > > 编写核心类SqlSessionFacotry > 深度分析解析SqlSessionFacotry干的核心工作 > 编写核心类SqlSession &…

【面试官让我十分钟实现一个链表?一个双向带头循环链表甩给面试官】

我们在面试中面试官一般都会让我们现场写代码,如果你面试的时候面试官让你十分钟写一个链表,你是不是懵逼了?十分钟写一个链表,怎么可能?事实上是有可能的,十分钟写出的链表也能震惊面试官。 我们学习单链…

《红楼梦》诗词大全

前言: 博主最近二读红楼,幼时只觉此书开篇便人物繁杂、莺莺燕燕似多混乱,开篇只看黛玉哭闹了几次,便弃书不读,只觉困惑,其何敢称六大奇书或四大名著? 今日书荒,偶然间再次拾起红楼…

3.2 网络协议

0 socket协议 访问 Internet 使用得最广泛的方法;所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄;应用程序通常通过"套接字"向网络发出请求或者应答网络请求;Socket接口…

六六大顺 马蹄集

六六大顺 难度:白银 0时间限制:1秒 巴占用内存:64M 输入正整数N,输出N以内(含N),6的倍数,并且包含6的数字,比如36等。 格式 输入格式:输入整型 输出格式:输出整型,空格分…

SI24R1国产低功耗2.4GHz收发一体射频遥控工控答题卡方案芯片替代NRF24L01+

目录SI24R1简介芯片特性硬件设计参考2.4GHz射频芯片选型参考应用领域SI24R1简介 Si24R1 2.4GHz收发一体芯片量产于2012年,由于其一致性稳定性高、低功耗、远距离、兼容替代NRF24L01,兼容NORDIC 2.4GHz协议等特点,一直广泛应用于各物联网场景…

牛客竞赛每日俩题 - 动态规划2

目录 经典DP - 走方格 走方格2.0 分割回文串 分割回文串 - 回文优化 经典DP - 走方格 不同路径的数目(一)_牛客题霸_牛客网 状态: 子状态:从(0,0)到达(1,0),(1,1),(2,1),...(m-1,n-1)的路径数 F(i,j): 从(0,0)到达F(i,j)的路径数 状态递推&#xff1a…

【23届秋招总结系列】一个普本23届小学弟的秋招总结,上岸金山云开发(云计算方向)

大家好,我是路飞~ 正值秋招收尾阶段,今天很荣幸请来了交流qun小分队里的一位23届本科上岸 金山云开发工程师-云计算方向的同学,给大家分享一下他在秋招过程中的总结和心得体会。 他的博客链接:团子的守护 一、秋招收获 2022.1…

计算机毕业设计SSM大学生创新创业项目活动管理平台【附源码数据库】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【微服务】Nacos服务发现源码分析

💖Spring家族及微服务系列文章 ✨【微服务】SpringBoot监听器机制以及在Nacos中的应用 ✨【微服务】Nacos服务端完成微服务注册以及健康检查流程 ✨【微服务】Nacos客户端微服务注册原理流程 ✨【微服务】SpringCloud中使用Ribbon实现负载均衡的原理 ✨【微服务】Sp…

Ubuntu20.04安装k8s v1.21.0

1. 禁用swap分区, 修改网络配置 sudo vim /etc/fstab 把有swap的那一行注释掉即可&#xff0c;如下&#xff1a; 然后执行如下命令 cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 EOF …

12.帖子模块——使用peewee创建多表关联的结构,使用Tornado创建查询接口、增加接口

1.模型建立与数据初始化 1.1分析建立表所需要的字段 本次主要是添加一个帖子展示时&#xff0c;所需要的内容&#xff0c;这里就得创建一个mysql的数据表去存储它的内容。 1.2 使用peewee创建多表关联结构Model 模型建立 # forum/models.py # 用于创建数据表模型from peewe…

企业自研业务系统的登录如何添加动态口令,实施MFA双因子认证?

一、背景需求 不少企业因业务需要会自己研发业务系统&#xff0c;为保护业务数据安全&#xff0c;首先要确保能访问到业务数据的人员“身份”安全可信。 企业自研业务系统的账号密码基本是 IT 管理员单独管理维护&#xff0c;员工为了方便记忆&#xff0c;通常设置与其他商采系…