第十一单元(内置组件)

#课程目标

  1. 熟练掌握component组件的用法
  2. 熟练使用keep-alive组件

#知识点

#1.component组件

component是vue的一个内置组件,作用是:配合is动态渲染组件

<component :is='组件'></component>
1

不同组件之间进行动态的切换

App.js:

<template>
<div>
<div>
<div>
<button @click="handleShow('Login')">登录</button>
<button @click="handleShow('Index')">首页</button>
</div>
<component :is="name"></component>
</div>
</div>
</template> <script>
import Login from "./components/Login";
import Index from "./components/Index"; export default {
data() {
return {
name: "Login",
};
},
components: {
Login,
Index
},
methods: {
handleShow(name) {
this.name = name;
},
},
mounted() {
console.log('挂载父组件')
}
};
</script>
 

components/Login.vue:

<template>
<div>
登录
</div>
</template> <script>
export default {
mounted() {
console.log('挂载登录组件')
},
beforeDestroy() {
console.log('销毁登录组件')
}
}
</script> <style> </style>
 

components/Index.vue:

<template>
<div>
首页
</div>
</template> <script>
export default {
mounted() {
console.log('挂载首页组件')
},
beforeDestroy() {
console.log('销毁首页组件')
}
}
</script> <style> </style>
 

我们在父组件和子组件中分别定义个生命周期钩子mounted,页面加载到完成,父组件先渲染完成还是子组件先渲染完成呢?答案是子组件先渲染完成。

参考链接:https://blog.csdn.net/qq_42778001/article/details/99091540

#2.keep-alive组件

两个组件进行切换时,一个组件显示,另一个是组件隐藏还是销毁呢?答案是不断的创建与销毁的过程。 如果你想把组件的缓存下来,可以在动态组件上使用vue另一个内置组件keep-alive

    <keep-alive>
<component :is='state'></component>
</keep-alive>
 

这样,当切换组件时,组件会被缓存下来,不会执行created 、mounted、beforeDestroy钩子函数。

是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在父组件链中。

vue第十一单元(内置组件)的更多相关文章

  1. 阅读vue源码-----内置组件篇(keep-alive)

    1.前言: <keep-alive>是vue实现的一个内置组件,也就是说vue源码不仅实现了一套组件化的机制,也实现了一些内置组件. <keep-alive>官网介绍如下:&l ...

  2. Vue基础(环境配置、内部指令、全局API、选项、内置组件)

    1.环境配置 安装VsCode 安装包管理工具:直接下载 NodeJS 进行安装即可,NodeJS自带 Npm 包管理工具,下载地址:https://nodejs.org/en/download/安装 ...

  3. 通俗易懂了解Vue内置组件keep-alive内部原理

    1. 官方介绍及其用法 1.1 组件介绍 要想搞明白<keep-alive>组件的内部实现原理,首先我们得搞明白这个组件怎么用以及为什么要用它,关于<keep-alive>组件 ...

  4. Vue内置组件[回顾]

    1.动态组件 在某些场景,往往需要我们动态切换页面部分区域的视图,这个时候内置组件component就显得尤为重要. component接收一个名为is的属性,is的值应为父组件中注册过的组件的名称, ...

  5. Vue内置组件keep-alive的使用

    本文主要介绍Vue内置组件keep-alive的使用. Vue内置组件keep-alive的使用 keep-alive接收三个props:●include - 字符串或正则表达式.只有名称匹配的组件会 ...

  6. form-create教程:给内置组件和自定义组件添加事件

    本文将介绍form-create如何给内置组件和自定义组件添加事件 form-create 是一个可以通过 JSON 生成具有动态渲染.数据收集.验证和提交功能的表单生成器.并且支持生成任何 Vue ...

  7. vue-learning:33 - component - 内置组件 - 过渡组件transition

    vue内置过渡组件transition 目录 什么是过渡 基本过渡或动画实现的语法 css过渡动画:transition / animation js过渡:特定事件钩子函数 各种情形下的过渡实现,使用 ...

  8. Django:内置组件Content-Type

    12.Django组件之Content_Type 1.帮助我们生成了一张表,里面有所有表名.这样不再自建表在表中填表名,用Foreignkey获取 2.为了让我们快速进入插入数据,填写一个字段Gene ...

  9. Ionic4.x Theming(主题) 增加内置主题 颜色 修改内置组件默认样式 修改底部 Tabs 背景颜色以及按钮颜色

    1.Ionic4.x Theming(主题) Ionic4.x 修改主题颜色的话需要在 src/theme/variables.scss 文件中修改. https://ionicframework.c ...

随机推荐

  1. idea中运行tomcat不能访问8080主页问题

    问题 初次使用IntelliJ IDEA,但今天在运行项目启动Tomcat后,发现无法访问Tomcat首页,出现404错误:输入http://localhost:8080时无法访问Tomcat首页,但 ...

  2. 面试必看!凭借着这份 MySQL 高频面试题,我拿到了京东,字节的offer!

    前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水. 前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面 ...

  3. Model class apps.goods.models.GoodsType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS

    在admin.py注册这个model时,报了个错: RuntimeError: Model class apps.goods.models.GoodsType doesn't declare an e ...

  4. C# Random类的正确应用

    Random类介绍 Random类一个用于产生伪随机数字的类.这里的伪随机表示有随机性但是可以基于算法模拟出随机规律. Random类的构造方式有两种. Random r= new Random(). ...

  5. ABBYY FineReader 15扫描和保存文档详解

    通过使用ABBYY FineReader 15 OCR文字识别软件的扫描和保存文档功能,用户可使用扫描仪或数码照相机获得图像文档,然后再转换为各种数字格式文档. 在"新任务窗口"中 ...

  6. centos8 yum 升级nginx

    原文地址:https://blog.csdn.net/lpwmm/article/details/105627476 CentOS8的Yum仓库中内置的nginx版本是1.14.1,最近漏扫提示需要升 ...

  7. jmeter测试udp

    jemter本身不支持udp测试,需要下载安装第三方插件,或者下载一个插件管理器(下面那个蝴蝶一样的图标),里面有各种插件可以供你下载 下载链接:https://jmeter-plugins.org/ ...

  8. miniconda安装及使用

    conda环境配置 安装conda [清华源下载地址](https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/) 官网或百度云网盘下载对应版本 ...

  9. C语言memset用法

    1.函数原型: void *memset(void *str,int c,unsigned long n): 2.参数意义: 第一个参数:数组str的起始地址:第二个参数:要赋值给数组的新值,这个值一 ...

  10. 第9.10节 Python中IO模块其他文件操作属性和方法简介

    本文中所有案例中的fp都是使用open函数打开文件返回的一个文件对象,为了节省篇幅,大部分没有提供文件打开的代码. 一. 文件是否关闭的属性 属性名:closed 功用:判断文件是否关闭 示例: &g ...