Vue基础   生命周期特点(先渲染HTML标签再渲染数据)

目录

Vue基础   生命周期特点(先渲染HTML标签再渲染数据)

一、Vue生命周期

Vue 的生命周期总共分为8个阶段:创建前/后,载入前/后,更新前/后,销毁前/后。

1、父子组件的加载顺序为

2、父组件更新顺序为

3、子组件更新顺序为

4、父子组件销毁顺序为

二、全局变量和全局方法

三、项目结构

四、vue指令

vue提供的修饰方法

v-bind 动态绑定类

函数和计算属性的区别

页面路由配置(在router下的index.js文件做配置)

脚手架安装其他库

创建VUE项目及运行



一、Vue生命周期

Vue 的生命周期总共分为8个阶段:创建前/后,载入前/后,更新前/后,销毁前/后。

  1. 页面元素创建前.beforeCreate()            表示实例完全被创建出来之前,vue 实例的挂载元素$el和数据对象 data 都为 undefined,还未初始化。
  2. 页面元素创建时.created()                     数据对象 data 已存在,可以调用 methods 中的方法,操作 data 中的数据,但 dom 未生成,$el 未存在 。
  3. 页面数据加载前.beforeMount()             vue 实例的 $el 和 data 都已初始化,挂载之前为虚拟的 dom节点,模板已经在内存中编辑完成了,但是尚未把模板渲染到页面中。data.message 未替换。
  4. 页面数据加载时.mounted()                   vue 实例挂载完成,data.message 成功渲染。内存中的模板,已经真实的挂载到了页面中,用户已经可以看到渲染好的页面了。
  5. 页面数据更新前beforeUpdate()            当 data 变化时,会触发beforeUpdate方法 。data 数据尚未和最新的数据保持同步。
  6. 页面数据更新后updated()                     当 data 变化时,会触发 updated 方法。页面和 data 数据已经保持同步了。
  7. 页面销毁前.beforeDestroy()                 组件销毁之前调用 ,在这一步,实例仍然完全可用。
  8. 页面销毁后.destroyed()                        组件销毁之后调用,对 data 的改变不会再触发周期函数,vue 实例已解除事件监听和 dom绑定,但 dom 结构依然存在。

1、父子组件的加载顺序为

父beforeCreated ->父created ->父beforeMounted ->子beforeCreated ->子created ->子beforeMounted ->子mounted -> 父mounted

2、父组件更新顺序为

父beforeUpdate->父updated

3、子组件更新顺序为

父beforeUpdate->子beforeUpdate->子updated->父updated

4、父子组件销毁顺序为

父beforeDestroy->子beforeDestroy->子destroyed->父destroyed

二、全局变量和全局方法

  1. 通过this.变量名 调用全局变量
  2. 通过this.方法名() 去调用methods定义的方法

三、项目结构

components存放组件

assets存放静态资源
views存放页面

Router配置页面路由

四、vue指令

数据绑定方法 :v-bind 简写  ‘  : ’

差值表达式 {{}}支持js运算符、插入函数、可以嵌套代码段、不能在标签属性中插入

@click点击事件

事件修饰符.stop可以阻止事件冒泡,用法=》@click.stop

如果你想在某个组件的根元素上绑定事件,直接使用 @click=''function' 是不生效的,则可以添加.native修饰符 @click.native=''function'',

v-on键修饰符@keyup.enter.native 且位于  v-model绑定数据之后 才生效

键盘事件@keyup.enter回车事件

vue提供的修饰方法

  • .stop
  • .prevent
  • .capture
  • .self
  • .once
  • .passive
<!-- 阻止单击事件继续传播 -->
<a v-on:click.stop="doThis"></a><!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form><!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a><!-- 只有修饰符 -->
<form v-on:submit.prevent></form><!-- 添加事件监听器时使用事件捕获模式 -->
<!-- 即元素自身触发的事件先在此处理,然后才交由内部元素进行处理 -->
<div v-on:click.capture="doThis">...</div><!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
<!-- 即事件不是从内部元素触发的 -->
<div v-on:click.self="doThat">...</div>
<!-- 点击事件将只会触发一次 -->
<a v-on:click.once="doThis"></a>
<!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 -->
<!-- 而不会等待 `onScroll` 完成  -->
<!-- 这其中包含 `event.preventDefault()` 的情况 -->
<div v-on:scroll.passive="onScroll">...</div>
<!-- 只有在 `keyCode` 是 13 时调用 `vm.submit()` -->
<input v-on:keyup.13="submit"
<!-- 同上 -->
<input v-on:keyup.enter="submit"><!-- 缩写语法 -->
<input @keyup.enter="submit">

V-if用于控制标签的显示和隐藏(可与v-if-else一起使用)

v-show和v-if的区别:

v-show是给标签设置了display:none的样式;v-if则不渲染标签

v-if可以嵌套条件循环

v-bind指令,动态绑定属性(可以缩写为:  ,例如v-bind:id =:id)

v-for循环html标签,用法例如<h1 v-for="item in 5">v-for循环渲染 {{item}}</h1>

v-bind 动态绑定类

1支持三目运算符

:class=[‘类名1’,’类名2’,’类名3’, 条件?‘类名4’:‘类名5’]

2支持对象绑定

:class=[‘类名’,{‘类名’,true}]

3支持Model对象绑定

:class=’obj’Data(){Retrue{Obj:{ ‘类名’:true }    }}

v-bind 动态绑定样式

注意点:

只需将样式代码放到对象中赋值给style,但取必须用引号括起来

如果样式名称带  -  也需要用引号括起来

:style=”color:’red’,’font-size’:’100px’”

如果Model中保存多个样式对象   :style=’[‘’,’’]’  用数组接收既可

函数和计算属性的区别

Methods函数每次调用都会被执行

计算属性只要返回的结果没有变化,那么计算属性就只执行一次

Computed:{

(key:valeu(function(){}))

}

应用场景:由于计算属性会将返回的结果缓存起来,如果返回的数据不经常变化,计算属性的性能比函数高

页面路由配置(在router下的index.js文件做配置)

脚手架安装其他库

npm i axios -S请求工具

npm i crypto-js js-cookie -S缓存工具

npm i vuex -S辅助函数

npm i vuex-persistedstate -S

npm install jquery --save

创建VUE项目及运行

打开cmd命令行


vue init webpack 项目名

npm run dev指令 运行项目
如果项目受损 通过npm i (项目初始化)重新安装项目依赖

Gavin小黑屋——Vue 学习笔记 :生命周期特点(先渲染HTML标签再渲染数据)相关推荐

  1. Gavin小黑屋——Servilet学习笔记

    这里写自定义目录标题 1.什么是Servlet? 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表 ...

  2. vue学习之生命周期,钩子函数执行顺序

    vue的生命周期,钩子函授执行顺序 一般的执行顺序(从上往下): beforeCreate 在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用 ...

  3. day4 vue 学习笔记 组件 生命周期 数据共享 数组常用方法

    系列文章目录 day1学习vue2笔记 vue指令 day2 学习vue2 笔记 过滤器 侦听器 计算属性 axios day3 vue2 学习笔记 vue组件 day4 vue 学习笔记 组件 生命 ...

  4. React学习:生命周期、过滤器、event、axios-学习笔记

    文章目录 React学习:生命周期.过滤器.event.axios-学习笔记 生命周期 过滤器 webapp小例子: event - 和原生JavaScript写法一样的 axios React学习: ...

  5. python 全栈开发,Day91(Vue实例的生命周期,组件间通信之中央事件总线bus,Vue Router,vue-cli 工具)...

    昨日内容回顾 0. 组件注意事项!!!data属性必须是一个函数!1. 注册全局组件Vue.component('组件名',{template: ``})var app = new Vue({el: ...

  6. Vue.js 基础语法 入门语句 Vue学习笔记 v-model 双向数据绑定

    Vue.js 基础语法,入门语句,Vue学习笔记 学习网站:https://www.bilibili.com/video/BV15741177Eh vue 的体验 响应式:数据一旦改变,视图就会响应改 ...

  7. 狂神说 vue学习笔记

    vue学习笔记 文章目录 vue学习笔记 一.第一个vue程序 1. 什么是MVVM 2. 为什么要使用MVVM 3.直接新建项目 4.导入vue.js 5.简单绑定元素 6 vue的声明周期 二.V ...

  8. 入门 vue 学习笔记

    Vue 学习笔记 学习资料来源:网易云Vue视频: ES6 语法 Vue 语法 Vue 组件使用 Vue 组件间通讯 Vue router Vue resource 目录 用 [TOC]来生成目录: ...

  9. Vue学习笔记01——Vue开发基础

    一.Vue实例配置选项 选项 说明 data Vue实例数据对象 methods 定义Vue中的方法 components 定义子组件 computed 计算属性 filters 过滤器 el 唯一根 ...

最新文章

  1. “进度条”博客——第三周
  2. 保护企业网络安全,不要忽视数据
  3. 基于双向链表的增删改查和排序(C++实现)
  4. 使用javap分析Java的字符串操作
  5. c语言回调函数构架程序,c语言函数回调函数回调
  6. KeelKit 数据库文档生成器已完成
  7. Freeswitch配置:一台Freeswitch向另外一台Freeswitch转发视频会议命令
  8. 标准MIDI文件格式
  9. pyodbc linux 乱码,关于python:无法在Linux上安装pyodbc
  10. 【深度学习笔记】AUC(Area under Curve Roc曲线下面积)
  11. Excel如何将单元格公式显示出来
  12. 04.HTML基础-表单标签基础标签
  13. python 降低图片分辨率的两种方法
  14. 基于PT8.2汽车尾气C0监测及联动控制
  15. 互联网快讯:极米NEW Z6X凭出众音画表现获好评;京东科技与天奇股份达成深度合作
  16. PySerial学习系列1--serial.tools
  17. 博文视点名家讲坛之七经典对答回顾
  18. 韩顺平—基础—重载、构造器、对象(P228 - P263)
  19. 解决word 2016中不能加载EndNote x7
  20. 彻底卸载 Visual Studio 2010 和 2012 并安装免费的 Visual Studio 2013 社区版!

热门文章

  1. 分众无线CEO徐茂栋:无线广告的价值与应用
  2. 有关军事混合智能的几点再再思考
  3. js DOM节点操作之创建、添加、删除和克隆节点
  4. nyoj 最大岛屿
  5. 程序员养生攻略之防猝死指南
  6. IOS风企业宣传PPT模板
  7. i7 7700hq和i5 10300h哪个好
  8. 苹果闪退解决方法_关于10月16日csgo闪退的解决方法
  9. 网站收录 - 学英语
  10. [IO系统]18 IO调度器 - CFQ