Vue 3:玩一下web前端技术(三)

前言

本章内容为VUE工作过程与相关使用讨论。

上一篇文章地址:

Vue 3:玩一下web前端技术(二)_Lion King的博客-CSDN博客

下一篇文章地址:

Vue 3:玩一下web前端技术(四)_Lion King的博客-CSDN博客

一、VUE的工作过程

1、从工程目录看工作过程

假设我们配置的工程目录长这样:

├── /build/             # 构建脚本目录
├── /config/            # 配置文件目录
├── /node_modules/      # 项目依赖的第三方模块目录
├── /src/               # 源代码目录
│   ├── /assets/        # 静态资源目录
│   ├── /components/    # Vue组件目录
│   ├── /router/        # 路由配置目录
│   ├── /store/         # Vuex状态管理目录
│   ├── /views/         # 视图目录
│   ├── App.vue         # 应用根组件
│   └── main.js         # 应用入口文件
├── .babelrc            # Babel配置文件
├── .editorconfig       # 编辑器配置
├── .eslintrc.js        # ESLint配置文件
├── .postcssrc.js       # PostCSS配置文件
├── index.html          # 页面模板文件
├── package.json        # 项目配置文件
└── README.md           # 项目说明文件

那么,VUE的工作过程将是这样:

(1)在src/main.js文件中,我们可以找到Vue应用的入口点。这个文件初始化Vue实例,并将根Vue组件App.vue挂载到DOM元素上。

(2)在src/App.vue文件中,定义了Vue应用的根组件。它可以包含其他子组件,也可以包含Vuex状态管理。

(3)在src/components/目录下,我们可以找到Vue应用中的各个组件。这些组件可以有自己的状态和行为,可以接受输入和发出输出。

(4)在src/router/目录下,我们可以找到Vue应用的路由配置。这些配置定义了路由路径和对应的组件。

(5)在src/store/目录下,我们可以找到Vuex的状态管理模块。Vuex是Vue.js的官方状态管理库,用于集中管理应用的状态。

2、从网页看工作过程

通过工程目录的几个部分,我们可以得出Vue的实际工作如下:

(1)用户访问页面时,index.html会被加载到浏览器中。

(2)index.html中会引入src/main.js文件,从而初始化Vue应用。

(3)在src/main.js中,通过new Vue()创建Vue实例,并加载根组件App.vue

(4)在App.vue中,可以包含子组件,这些子组件可以有自己的数据和行为。

(5)路由配置文件中定义了不同路径对应的组件,当用户访问不同路径时,会根据路由配置加载对应的组件。

(6)在组件中可以使用Vuex来管理状态,通过调用this.$store来访问和修改状态。

3、从代码看工作过程

(1)、main.js

import { createApp } from 'vue'
import App from './App.vue'createApp(App).mount('#app')

这段代码是一个使用Vue.js创建和挂载应用程序的基本模板。

首先,我们从Vue库中导入createApp函数。createApp是一个工厂函数,用于创建Vue实例。

然后,我们从"./App.vue"文件中导入App组件。这是我们应用程序的根组件,其中包含了我们的应用程序的整体结构和逻辑。

接着,我们调用createApp函数并将App组件作为参数传递给它。这样,createApp函数会返回一个Vue实例,我们可以使用它来操作和控制我们的应用程序。

最后,我们使用mount方法将Vue实例挂载到一个HTML元素上。在这里,我们将Vue实例挂载到id为"app"的DOM元素上。这意味着我们的应用程序将被渲染并插入到具有"id=app"的HTML元素中。

(2)、App.vue

这个文件可以把html、css、js三个文件组合起来,渲染出一个页面,在挂载点#app上显示。因为默认他是页面的入口文件,所以用看看到的第一个页面就是他。

(3)、其他

App.vue会根据网页的请求,搜索相关资源以呈现,这就涉及自定义的业务逻辑了。

二、相关使用讨论

1、消失的挂载点#app

在main.js中,有一个挂载点#app,那么这个#app在哪里呢?他在这里:

2、我怎么知道'vue'组件中存在 createApp 函数呢?

查阅官方文档是个不错的选择,因为当你进入'vue'查看时,你会发现根本看不到:

3、我使用的是vue 2还是vue 3?

可以在如下界面查看:

4、可以使用其他vue文件替换App.vue文件为入口文件么

可以,不过没必要,方法是只要在main.js直接定义即可,如设置NewApp.vue为入口文件:

import Vue from 'vue'
import NewApp from './NewApp.vue'new Vue({render: h => h(NewApp),
}).$mount('#app')

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

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

相关文章

SpringBoot 注解

SpringBoot SpringBoot(SpringBootApplication)问题引入我们的工程在引入spring-boot-starter-web依赖的时候,为什么没有指定版本(版本锁定)spring-boot-starter-web是个啥,为什么引入了它之后,…

【业务功能篇59】Springboot + Spring Security 权限管理 【下篇】

UserDetails接口定义了以下方法: getAuthorities(): 返回用户被授予的权限集合。这个方法返回的是一个集合类型,其中每个元素都是一个GrantedAuthority对象,表示用户被授予的权限。getPassword(): 返回用户的密码。这个方法返回的是一个字符…

springboot编写mp4视频播放接口

简单粗暴方式 直接读取指定文件,用文件流读取视频文件,输出到响应中 GetMapping("/display1/{fileName}")public void displayMp41(HttpServletRequest request, HttpServletResponse response,PathVariable("fileName") String fi…

stm32通过ESP8266接入原子云

1. ESP8266模块需要烧录原子云固件,此原子云固件和正常的ESP8266固件相比添加了ATATKCLDSTA 和 ATATKCLDCLS 这两条指令: 2. 原子云账号注册及设备建立 设备管理-新增设备-ESP8266 新建设备后新建分组,将设备加入到此分组中: 至此…

ICASSP 2023 | Cough Detection Using Millimeter-Wave FMCW Radar

原文链接:https://mp.weixin.qq.com/s?__bizMzg4MjgxMjgyMg&mid2247486540&idx1&sn6ebd9f58e9f08a369904f9c48e12d136&chksmcf51beb5f82637a3c65cf6fa53e8aa136021e35f63a58fdd7154fc486a285ecde8b8521fa499#rd ICASSP 2023 | Cough Detection Usi…

SwipeDelMenuLayout失效:Could not find SwipeDelMenuLayout-V1.3.0.jar

一、问题描述 最近在工作上的项目中接触到SwipeDelMenuLayout这个第三方Android开发库,然后我就根据网上的教程进行配置。这里先说一下我的开发环境:Android Studio版本是android-studio-2020.3.1.24-windows,gradle版本是7.0.2。 首先是在se…

RWEQ模型——土壤风蚀模拟

详情点击链接:基于“RWEQ”集成技术在土壤风蚀模拟与风蚀模数估算、变化归因分析中的实践应用及SCI论文撰写 前沿 土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一,土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的…

【Docker】Docker应用部署之Docker容器安装Tomcat

目录 一、搜索镜像 二、拉取镜像 三、创建容器 四、测试使用 一、搜索镜像 docker search tomcat 二、拉取镜像 docker pull tomcat:版本 三、创建容器 首先在宿主机创建数据卷的目录 mkdir /root/tomcat # 创建目录 cd /root/tomcat # 进入目录 docker run -id -…

前端框架学习-Vue(二)

最近在学习Vue框架,Vue中的内容很多。相当于把之前后端的MVC,V层转移到前端来编写和部署。下面是学习Vue时的大纲。 Vue生命周期是Vue应用的生命周期Vue脚手架,即vue-cli,使用node.js 来创建和启动vue项目Vue组件知识,…

RS485/RS232自由转ETHERNET/IP网关profinet和ethernet区别

你是否曾经遇到过这样的问题:如何将ETHERNET/IP网络和RS485/RS232总线连接起来呢?捷米的JM-EIP-RS485/232通讯网关,自主研发的ETHERNET/IP从站功能,完美解决了这个难题。这款网关不仅可以将ETHERNET/IP网络和RS485/RS232总线连接起…

Zynq-Linux移植学习笔记之62- PL挂载复旦微flash

1、背景介绍 现在为了全国产化需要,之前所有的进口flash全部要换成国产flash 2、复旦微flash型号 其中EFM25QU256和EFM25QL256对标winbond的w25q256 nor flash 3、FPGA设置 复旦微flash只支持单线模式,当使用PL侧的IP核访问时,需要设置模式…

【系统架构】分布式系统架构设计

1 分布式系统是什么 分布式系统是指由多个计算机节点组成的一个系统,这些节点通过网络互相连接,并协同工作完成某个任务。 与单个计算机相比,分布式系统具有更高的可扩展性、可靠性和性能等优势,因此广泛应用于大规模数据处理、高…

IDEA代码自动格式化工具

1.自动import 在IDEA中,打开 IDEA 的设置,找到 Editor -> General -> Auto Import。勾选上 Add unambiguous imports on the flyOptimize imports on the fly (for current project) 2.gitee 提交格式化 设置方法如下: 1.打开设置 2.找到版本…

KMP算法总结

KMP算法总结 BF算法引导BF算法步骤(图片演示)代码演示 KMP算法推next数组代码演示 BF算法引导 BF算法是一个暴力的字符串匹配算法,时间复杂度是o(m*n) 假设主串和子串分别为 我们想要找到子串在主串的位置 BF算法核…

Spring Boot集成Swagger3.0,Knife4j导出文档

文章目录 Spring Boot集成Swagger3.0,Knife4j导出文档效果展示如何使用简要说明添加依赖添加配置类测试接口token配置位置 官网 说明情况 demo Spring Boot集成Swagger3.0,Knife4j导出文档 效果展示 如何使用 简要说明 Knife4j的前身是swagger-bootstrap-ui,前身swagger-boo…

Github-Copilot初体验-Pycharm插件的安装与测试

引言: 80%代码秒生成!AI神器Copilot大升级 最近copilot又在众多独角兽公司的合力下,取得了重大升级。GitHub Copilot发布还不到两年, 就已经为100多万的开发者,编写了46%的代码,并提高了55%的编码速度。 …

springboot整合myabtis+mysql

一、pom.xml <!--mysql驱动包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--springboot与JDBC整合包--><dependency><groupId>org.springframework.b…

微信小程序实现日历功能、日历转换插件、calendar

文章目录 演示htmlJavaScript 演示 效果图 微信小程序实现交互 html <view wx:if"{{calendarArr.length}}"><view class"height_786 df_fdc_aic"><view class"grid_c7_104"><view class"font_weight_800 text_align…

Redis 数据库高可用

Redis 数据库的高可用 一.Redis 数据库的持久化 1.Redis 高可用概念 &#xff08;1&#xff09;在web服务器中&#xff0c;高可用是指服务器可以正常访问的时间&#xff0c;衡量的标准是在多长时间内可以提供正常服务&#xff08;99.9%、99.99%、99.999%等等&#xff09;。 …

【Golang 接口自动化02】使用标准库net/http发送Post请求

目录 写在前面 发送Post请求 示例代码 源码分析 Post请求参数解析 响应数据解析 验证 发送Json/XMl Json请求示例代码 xml请求示例代码 总结 资料获取方法 写在前面 上一篇我们介绍了使用 net/http 发送get请求&#xff0c;因为考虑到篇幅问题&#xff0c;把Post单…