首页 > 其他分享 >Vue.js - 生命周期与工程化开发【0基础向 Vue 基础学习】

Vue.js - 生命周期与工程化开发【0基础向 Vue 基础学习】

时间:2024-06-02 23:57:20浏览次数:28  
标签:vue 生命周期 js Vue 注册 组件 工程化 全局

文章目录

Vue 的生命周期

Vue 生命周期的四个阶段

**Vue生命周期:**一个Vue实例从 创建 到 销毁 的整个过程。

生命周期四个阶段:

  • ① 创建
  • ② 挂载
  • ③ 更新
  • ④ 销毁

在这里插入图片描述

Vue 生命周期函数(钩子函数

Vue生命周期过程中,会自动运行一些函数,被称为**【生命周期钩子】→ 让开发者可以在【特定阶段】**运行自己的代码。

思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来)

于是我们可以把 Vue 的生命周期划为四个阶段,分别是:

  1. 创建阶段
  2. 挂载阶段
  3. 更新阶段
  4. 渲染阶段

在这里插入图片描述

于是对应上图的四个阶段,我们有个8个钩子(每个阶段两个钩子)来让开发者运行自己的代码以达到更好的效果

在这里插入图片描述

分别是:

  1. 创建阶段:

    • before Create()

    • created()

  2. 挂载阶段

    • before Mount()

    • mount()

  3. 更新阶段

    • before Update()
    • updated()
  4. 渲染阶段

    • before Destory()
    • Destoryed()

    于是针对刚刚的疑问,我们可以在图中找出发送请求以及操作DOM的时间节点

    在这里插入图片描述

工程化开发 & 脚手架 Vue CLI

开发 Vue 的两种方式:

  1. 核心包传统开发模式:基于 html / css / js 文件,直接引入核心包,开发 Vue。
  2. 工程化开发模式:基于构建工具(例如:webpack ) 的环境中开发 Vue。

基本介绍:

Vue CLI 是 Vue 官方提供的一个全局命令工具。

可以帮助我们快速创建一个开发 Vue 项目的标准化基础架子。【集成了 webpack 配置】

好处:

  1. 开箱即用,零配置
  2. 内置 babel 等工具
  3. 标准化

使用步骤:

  1. 全局安装 (一次) :yarn global add @vue/cli 或 npm i @vue/cli -g
  2. 查看 Vue 版本:vue --version
  3. 创建项目架子:vue create project-name(项目名-不能用中文)
  4. 启动项目: yarn serve 或 npm run serve(找package.json)

脚手架目录文件介绍

在这里插入图片描述

项目运行流程

在这里插入图片描述

组件化开发 & 根组件

**① 组件化:**一个页面可以拆分成一个个组件,每个组件有着自己独立的结构、样式、行为。

- 好处:便于维护,利于复用 → 提升开发效率。
- 组件分类:普通组件、根组件。

**② 根组件:**整个应用最上层的组件,包裹所有普通小组件。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

由图可见,将App拆解成多个组件,有利于我们的开发与维护。

App.vue 文件(单文件组件)的三个组成部分

1. 语法高亮插件:

在这里插入图片描述

2. 三部分组成:

  • template:结构(有且只能一个根元素)

  • script: js逻辑

  • style:样式(可支持less,需要装包)

3. 让组件支持****less

(1)style标签,lang="less"开启less功能

(2)装包: yarn add less less-loader

普通组件的注册使用

组件注册的两种方式:

  1. **局部注册:**只能在注册的组件内使用

    ①创建.vue 文件(三个组成部分)

    ②在使用的组件内导入并注册

  2. **全局注册:**所有组件内都能使用

    使用:

    • 当成html 标签使用<组件名></组件名>

    注意:

    • 组件名规范→ 大驼峰命名法,如:HmHeader

在这里插入图片描述

局部注册的方法

步骤

  1. 创建.vue组件(单文件组件)
  2. 使用的组件内导入,并局部注册components: { 组件名:组件对象}
// 导入需要注册的组件
import组件对象from'.vue文件路径'
importHmHeaderfrom'./components/HmHeader'

exportdefault{
	// 局部注册
	components:{
	'组件名': 组件对象,
	HmHeader//键值相同可以略写
	}
}

全局注册的方法

  • 创建.vue 文件(三个组成部分)
  • main.js 中进行全局注册

步骤

  1. 创建.vue组件(单文件组件)
  2. main.js内导入,并全局注册Vue.component(组件名, 组件对象)
// 导入需要全局注册的组件
importHmButtonfrom'./components/HmButton'// 调用Vue.component 进行全局注册
// Vue.component('组件名', 组件对象)
Vue.component('HmButton', HmButton)

组件的使用

<组件名></组件名>

技巧:

// 导入需要全局注册的组件
importHmButtonfrom'./components/HmButton'// 调用Vue.component 进行全局注册
// Vue.component('组件名', 组件对象)
Vue.component('HmButton', HmButton)

组件的使用

<组件名></组件名>

技巧:

一般都用局部注册,如果发现确实是通用组件,再抽离到全局。

标签:vue,生命周期,js,Vue,注册,组件,工程化,全局
From: https://blog.csdn.net/qq_38965505/article/details/139372737

相关文章

  • js中将小/大驼峰格式的字符串转为下划线相连的字符串
    functionisUpperCase(ch){ return/^[A-Z]$/.test(ch)}functionisLowerCase(ch){ return/^[a-z]$/.test(ch)}functionconvert(str){ letarr=[]; for(i=0;i<str.length;i++) { constpreSmall=i>0?isLowerCase(str[i-1]):false; /......
  • python 执行js 代码 一些库
    在Python中执行JavaScript代码,有几种常见的方法和库可以使用:PyExecJS:这是一个直接在Python中执行JavaScript代码的库。它支持多个JavaScript运行时(如Node.js、PhantomJS、JScript等)。importexecjsjs_code="""functionhello(){return'Hello,World......
  • 如何使用Node.js、TypeScript和Express实现RESTful API服务
    Node.js是一个基于ChromeV8引擎的JavaScript运行环境。Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。Express是一个保持最小规模的灵活的Node.jsWeb应用程序开发框架,为Web和移动应用程序提供一组强大的功能。使用Node.js和Express可以快速的实现一个......
  • 为什么选择 Vue 3?
    专栏目录《Vue3基础》文章目录专栏目录前言一、Vue是什么?Vue是什么?Vue的三个特点1、组件化架构2、响应式编程3、学习成本低Vue生态适用场景横向比较二、为什么选择Vue3?Vue2.x和Vue3.x的主要区别Vue3升级指南总结前言随着互联网行业的不断发展,......
  • vue3 使用element plus 方式
    安装依赖npminstallelement-plus--save引入依赖import'./assets/main.css'import{createApp}from'vue'import{createPinia}from'pinia'importAppfrom'./App.vue'importrouterfrom'./router'//从这里引......
  • vue 引用第三方库 Swpier轮播图
    本文全程干货,没有废话1.使用npm安装swiper,使用save保存到packjson中npminstall--saveswiper2、把swiper看成是第三方库或者是组件,然后按照,引用,挂载组件,使用组件三步法。3、在script里的exportdefault上面引用这俩。import{Swiper,SwiperSlide......
  • Vue.js 动态组件与异步组件
    title:Vue.js动态组件与异步组件date:2024/6/2下午9:08:50updated:2024/6/2下午9:08:50categories:前端开发tags:Vue概览动态组件异步加载性能提升路由管理状态控制工具生态第1章Vue.js简介1.1Vue.js概述Vue.js是一个渐进式的JavaScript框架,用于构......
  • 基于SpringBoot+Vue毕业设计管理系统设计和实现(源码+LW+部署讲解)
    ......
  • JSOI 信息与未来2024游记
    JSOI信息与未来2024游记day0似乎就一天祭day1签到通知12:10到,结果13:10才开始先开T1签到题一如既往是幸运数字不得不吐槽一下出题人的语文水平了先20min整完这题,过~开T2一看什么红绿灯灯管,感觉是道模拟,先放着开T3一个明显的BFS连通块,思考了一下确定先做T2jc......
  • vscode setting.js 中 $dir 突然多了一对双引号的问题
    找到文件codeManager.js可以通过everything快速查找,或者找到以下路径:C:\Users\你的用户名\.vscode\extensions\formulahendry.code-runner-0.12.2\out\src先找到$dir替换函数从上图可以看出函数quoteFileName做了主要工作把引号去掉就好了......