vue的声明周期、钩子函数、工程化开发

1.vue的声明周期:

一个vue实例的生命周期可以分为四个阶段:

(1)创建(2)挂载(3)更新(4)销毁

(1)创建阶段:

数据的响应式处理:将普通数据转换成响应式数据。我们定义的数据默认是普通类型数据,Vue底层会对我们创建的数据进行监听,监听到了之后会自动将其转化成响应式数据,只有转换成响应式数据,后续页面在渲染的时候,才会自动更新;

(2)挂载阶段:

结合定义好的模板和转换后的响应式数据,实现数据的渲染,并在页面上显示出来;

(3)更新阶段:

用户操作最多的阶段。用户修改数据过后,试图会重新更新。并且这个阶段是可重复的,如果用户重复多次修改数据,那么更新阶段会执行多次;

(4)当浏览器页面关闭就会销毁vue实例

2.vue声明周期中的钩子函数:

我们最常用的就是created和mounted,created可以在数据完成响应式转化之后进行数据的获取显示等功能,而mounted则是在渲染之后可以进行dom操作;

3.Vue CLI工程化开发:

Vue CLI 是 Vue 官方提供的一个全局命令工具。 可以帮助我们快速创建一个开发Vue 项目的标准化基础架子。【集成了webpack配置】

在使用的时候在项目所在文件夹打开powerSheel然后输入vue create 项目名指令,进行项目的创建,创建后用cd切换到该项目下,输入npm run serve运行项目;

项目的内部构造:

4.项目运行流程:

App.vue作为全局组件已经导入其内部所需的子组件;

5.组件化开发和根组件的介绍:

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

一个组件分为三部分:

<templete></templete> ------------结构

<script></script>---------------------行为

<style></style>-----------------------样式

6.组件的注册:

组件的注册方式有两种,一种是局部注册,还有一种是全局注册;

组件的局部注册:

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

注册步骤:

第一步:在components里面创建vue子组件;

第二步:注册子组件;

第三步:使用子组件;

复制代码
<template>
  <div class="app">
      <MyHeader></MyHeader>
      <MyBody></MyBody>
      <MyFooter></MyFooter>
  </div>
</template>

<script>
//导入子组件  import 组件对象 from 子组件的路径
import MyFooter from './components/MyFooter.vue'
import MyHeader from './components/MyHeader.vue'
import MyBody from './components/MyBody.vue'
export default {
    //组件的局部注册
    components: {
      // 组件名称 : 组件对象
      MyHeader:  MyHeader,
      MyFooter: MyFooter,
      // 如果组件名称和组件对象的名字是一样的 就可以简写。
      MyBody
    }
}
</script>

<style>
   .app{
      width: 400px;
      height: 700px;
      background-color: brown;
   }
</style>

导入的时候在script内部导入,在export default中进行注册,注册方式是组件名称:组件对象名

如果组件名称和组件对象名一样就可以直接写组件对象名;

组件的全局注册:

全局注册的组件在所有组件内部都可以使用,注册步骤如下:

(1)在与components同级位置创建全局组件,完成组件内部的编写;

(2)在main.js中完成对于导入并注册全局变量

(3)在其他的组件中使用全局组件

一般来说都是使用局部组件,如果发现通用组件再抽离到全局

相关推荐
Irene19915 小时前
ElementPlus 与成熟后台框架对比:vue-element-plus-admin、vue-pure-admin等
前端·ui·框架·vue3
尘中客10 小时前
放弃 Echarts?前端直接渲染后端高精度 SVG 矢量图流的踩坑记录
前端·javascript·echarts·前端开发·svg矢量图·echarts避坑
FreeBuf_10 小时前
Chrome 0Day漏洞遭野外利用
前端·chrome
小彭努力中10 小时前
199.Vue3 + OpenLayers 实现:点击 / 拖动地图播放音频
前端·vue.js·音视频·openlayers·animate
2501_9160074710 小时前
网站爬虫原理,基于浏览器点击行为还原可接口请求
前端·javascript·爬虫·ios·小程序·uni-app·iphone
前端大波10 小时前
Sentry 每日错误巡检自动化:设计思路与上手实战
前端·自动化·sentry
Highcharts.js12 小时前
适合报表系统的可视化图表|Highcharts支持直接导出PNG和PDF
javascript·数据库·react.js·pdf
ZC跨境爬虫12 小时前
使用Claude Code开发校园交友平台前端UI全记录(含架构、坑点、登录逻辑及算法)
前端·ui·架构
慧一居士12 小时前
Vue项目中,何时使用布局、子组件嵌套、插槽 对应的使用场景,和完整的使用示例
前端·vue.js