Vue入门:关于Vue那些不得不说的事儿

参考:Vue官方文档

怎样才算Vue入门?关于Vue有哪些必须了解的知识?这篇就来归纳一下这些最最最基础、必必必须要知道的事儿 ——

 

一.Vue的生命周期与基本的钩子函数

生命周期,就是Vue 实例从创建到销毁的过程。

即从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等这一系列过程,我们称之为Vue 的生命周期。

期间总共分为8个阶段创建前/后,载入前/后,更新前/后,销毁前/后。(可参考官网给出的生命周期图理解,图见末尾👇)

 

而这8个阶段又与分别与8个钩子函数相对应:

  • beforeCreate、created  创建前/后
  • beforeMount、mounted  载入前/后
  • beforeUpdate、updated  更新前/后
  • beforeDestroy、destroyed  销毁前/后

 

具体来看:

钩子函数 函数含义 触发的行为 在这一阶段可做的事情
beforeCreate 创建前 vue实例的挂载元素$el和数据对象data都为undefined,还未初始化。 加loading事件
created 创建后

数据对象data初始化完成,可以调用 methods 中的方法,操作 data 中的数据。

但 dom未生成,$el未初始化

结束loading、请求数据为mounted渲染做准备
beforeMount 载入前

vue实例的$el和data都已初始化,但还是虚拟的dom节点,模板已在内存中编辑完成了,但尚未把模板渲染到页面中。

具体的data.filter还未替换

——
mounted 载入后

vue实例挂载完成,data.filter成功渲染。

内存中的模板,已经真实的挂载到了页面中,用户可以看到渲染好的页面。实例创建期间的最后一个生命周期函数,当执行完 mounted 就表示,实例已经被完全创建好了,DOM 渲染在 mounted 中就已经完成了。

配合路由钩子使用
beforeUpdate 更新前 data更新时触发,data 数据尚未和最新的数据保持同步。  
updated 更新后 data更新时触发,页面和 data 数据已经保持同步了。 数据更新时,做一些处理(此处也可以用watch进行观测)
beforeDestroy 销毁前 组件销毁之前调用。在这一步,实例仍然完全可用。  
destroyed 销毁后 组件销毁之后调用,对 data 的改变不会再触发周期函数,vue 实例已解除事件监听和 dom绑定,但 dom 结构依然存在。 组件销毁时进行提示

 

更多解钩子函数与生命周期可参考:

详解vue生命周期

Vue2.0 探索之路——生命周期和钩子函数的一些理解

Vue的钩子函数[路由导航守卫、keep-alive、生命周期钩子]

看到这里你或许满脑子问号:挂载是啥?数据对象data是啥?data.filter又是什么鬼??!!

不急,往下看,这些问题都会迎刃而解 ——

 

 二.Vue中的基础概念

1、el挂载点

什么是el挂载点?我们从一个Vue的实例开始理解:

 <!-- 这里是H5部分 -->
<template>
  <div id="demo">
    {{ title }}
    <span>{{ message }}</span>
  </div>
</template>
//这里是js部分
<script>
var demo=new Vue({
    el:"#demo",
    data:{
      title:"这里是一个demo的标题"
      message:"hello Vue!",
    })
</script>

其中的el,就被成为挂载点。

挂载点el——用于设置Vue实例挂载(管理)的元素

可将它理解为是将dom元素与vue实例绑定在一起的一个媒介。

需要注意的点:

1、双大括号:{{  }},它是使用Vue实例中数据的一个方式,常用方法:{{ 变量名 }}(注意变量名和大括号之间要留有一个空格)

2、Vue实例作用于el指定的元素及该元素内部的后代元素——比如,demo绑定的是<div>,而在<div>内部的<span>也是可以使用{{ message }}的

3、el可指定id/class/类型选择器,建议使用id选择器

4、el仅支持双标签(不可使用<html>和<body>)

 

2、data数据对象

1.Vue中用到的数据定义在data中
2.data支持复杂类型的数据
3.渲染复杂类型的数据时,遵守JS语法即可
<body>
<div id="app">
{{ message }}
<h2> {{ Info.name }} {{ Info.mobile }} </h2>
<ul>
<li> {{ habbits[0] }} </li>
<li> {{ habbits[2] }} </li>
</ul>
</div>
</body>
<script>
var app=new Vue({
el:"#app",
data:{
message:"hello Vue!",
Info:{
name:"YAN",
mobile:"130xxx-xxx",
},
habbits:["爱吃果冻","不想起床","爱看书"]
}
})
</script>

3、Vue指令

什么是Vue指令?

Vue指令就是一组以v-开头的特殊语法,如最常用的v-model、v-for、v-if等等。

这些指令分别什么意思呢?我们可以和dom元素结合来看——

1.v-model

【Vue本地应用-1.内容绑定/时间绑定】
【Vue本地应用-2.显示切换/属性绑定】
【Vue本地应用-3.列表循环/表单元素绑定】

 

 
——未完待续——

 

三.如何从0创建一个.Vue文件,

四.前端好搭档:Vue + element组件,实现一个简单的查询页面

 

posted @ 2021-04-15 16:31  暴躁老砚  阅读(77)  评论(0编辑  收藏  举报