动态组件

动态切换组件的显示和隐藏

如何实现动态组件的渲染

vue提供了有一个内置的<component>组件,专门用来实现动态组件的渲染。示例代码如下:

使用keep-alive保持状态

(可以把内部的组件进行缓存,而不是销毁组件)

keep-alive对应的生命周期函数

(对组件进行缓存)

当组件被缓存是,会自动触发组件的deactivated生命周期函数。

当组件被激活时,会自动触发组件的activated生命周期函数。

keep-alive的include属性

(include属性用来指定:只有名称匹配的组件会被缓存。多个组件名之间使用英文的逗号分隔)

exclude(排除不缓存的组件)

插槽

插槽(Slot)是vue为组件的封装者提供的能力。运行开发者再封装组件时,把不确定的、希望由用户指定的部分定义为插槽。

(vue官方规定,每一个slot插槽,都要有一个name名称,如果省略了slot的name属性,则有一个默认名称叫做default)

v-slot:插槽名(v-slot:的简写为#)

把内容填充到指定名称的插槽中。

只能用在template标签上。

template这个标签,他是一个虚拟标签,只起到包裹性质,但是,不会被渲染为任何性质的html元素。

后备内容

封装组件时,可以为预留的<slot>插槽提供后背内容(默认内容)。如果组件的使用者没有为插槽提供任何内容,则后背内容会生效。

具名插槽

带名字的插槽就是具名插槽。

作用域插槽

在封装组件时,为预留的<slot>提供属性对应的值,这种用法,叫做“作用域插槽”

自定义指令

vue官方提供了v-text、v-for、v-model、v-if等常用的指令。初次之外vue还允许开发者自定义指令。

自定义指令的分类

·私有自定义指令

·全局自定义指令

私有自定义指令

在directives节点下声明私有自定义指令。

bind缺点:只能第一次触发时执行,无法更新。

update缺点:第一次不生效,之后生效。

函数简写

如果bind和update函数中的逻辑完全相同,则对象格式的自定义指令可以简写成函数格式:

全局自定义指令

全局共享的自定义指令需要通过“Vue.directive()”进行声明。(全局声明的对象要放到main.js中)

thirty-one的更多相关文章

  1. 第一册:lesson thirty nine.

    原文: Don't drop it! A:What are you going to do with that vase,Penny? B:I am going to put it on the ta ...

  2. 第一册:lesson thirty seven。

    原文: Making a bookcase. A:You are working hard,George. What are you doing . B:I am making a bookcase. ...

  3. 第一册:lesson thirty five。

    原文: Our village . This is a photograph of our village. Our village is in  a valley. It is between to ...

  4. 第一册:lesson thirty three。

    原文:A fine day. It is a fine day today. There are some clouds in the sky. But the sun is shining. Mr. ...

  5. 第一册:lesson thirty one。

    原文:Where is Sally? A:Where is .. B? B:She is in the garden,A. A:What's she doing? B:She is sitting u ...

  6. python's thirty day for me 异常处理

    ---恢复内容开始--- 程序的异常:报错之后程序终止. 异常处理搭配使用: l = ['创建老师','创建学校'] while True: try: for num,item in enumerat ...

  7. [Erlang 0119] Erlang OTP 源码阅读指引

      上周Erlang讨论群里面提到lists的++实现,争论大多基于猜测,其实打开代码看一下就都明了.贴出代码截图后有同学问这代码是哪里找的?   "代码去哪里找?",关于Erla ...

  8. USACO . Friday the Thirteenth

    Friday the Thirteenth Is Friday the 13th really an unusual event? That is, does the 13th of the mont ...

  9. [LeetCode] Integer to English Words 整数转为英文单词

    Convert a non-negative integer to its english words representation. Given input is guaranteed to be ...

  10. 二刷Cracking the Coding Interview(CC150第五版)

    第18章---高度难题 1,-------另类加法.实现加法. 另类加法 参与人数:327时间限制:3秒空间限制:32768K 算法知识视频讲解 题目描述 请编写一个函数,将两个数字相加.不得使用+或 ...

随机推荐

  1. GeoServer发布MySQL空间数据

    1. 概述 MySQL是常用的关系型数据库,MySQL遵从OpenGIS联盟(OGC)的规范,实施了空间扩展,更详细的信息可以参考: MySQL :: MySQL 8.0 Reference Manu ...

  2. net core 依赖注入DI

    控制反转:Inversion Of Control,简称 IOC,是面向对象中的一种设计原则,调用者不自己new实例,而是交给容器去创建,可以减轻代码的耦合度. 依赖注入:Dependency Inj ...

  3. LeetCode-1664 生成平衡数组的方案树

    题目描述 来源:力扣(LeetCode)链接:https://leetcode.cn/problems/ways-to-make-a-fair-array 给你一个整数数组 nums .你需要选择 恰 ...

  4. LeetCode-23 合并K个升序链表

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-k-sorted-lists 题目描述 给你一个链表数组,每个链表都已经按升序排列. ...

  5. Mybatis-Plus 之BaseMapper 方法详解

    package com.itheima.dao; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomido ...

  6. CF1738E Balance Addicts

    个人思路: \(sum_i\) 表示前 \(i\) 个数的前缀和,推一下式子可知是要选若干对 \(l_i,r_i\),使得 \(l_1 < l_2 <\dots < l_k \le ...

  7. java如何将逗号分隔的字符串转成int或者long数组

    String str = "1,2,3";//先将他转化成int的数组如上述:欲将str 转成 数值型数组 利用 split 函数先以 ,分割 String str = " ...

  8. Hsm状态机init()和dispatch()流程

    (LCA)共同祖先状态:首先找到s(原状态)能处理t(目标状态)的超状态,然后找到t(目标状态)到上一步超状态的退出路径p[]并保存,最后沿着退出路径进入t目标状态. QHsm_dispatch_(Q ...

  9. Python: 取消numpy科学计数法

    Numpy中默认是使用科学计数法来显示数据的,但是这种做法往往不利于我们观测数据,比如坐标数据等.那么如何取消numpy科学计数法呢,请往下看. np.set_printoptions() impor ...

  10. 重置Beyond Compare 4试用时间

    重置Beyond Compare 4试用时间 什么是Beyound Compare Beyond Compare是一套由Scooter Software推出的文件比较工具.主要用途是对比两个文件夹或者 ...