vue内置的标签(组件)

component:用于动态组件,查看博文vue学习之组件

<component :is="componentId"></component>

transition:过渡和动画,查看官网文档进入/离开&列表过渡

<!-- 简单元素 -->
<transition>
  <div v-if="ok">toggled content</div>
</transition>

transition-group

<transition-group tag="ul" name="slide">
  <li v-for="item in items" :key="item.id">
    {{ item.text }}
  </li>
</transition-group>

keep-alive

Props:

  • include - 字符串或正则表达式。只有名称匹配的组件会被缓存。
  • exclude - 字符串或正则表达式。任何名称匹配的组件都不会被缓存。
  • max - 数字。最多可以缓存多少组件实例。

注意:<keep-alive> 要求被切换到的组件都有自己的名字,不论是通过组件的 name 选项还是局部/全局注册。

<!-- 失活的组件将会被缓存!-->
<keep-alive>
  <component v-bind:is="currentTabComponent"></component>
</keep-alive>

使用:注意,<keep-alive> 用在仅一个直属的子组件被开关的情形。如果在其中有 v-for 则不会工作。

<!-- 基本 -->
<keep-alive>
  <component :is="view"></component>
</keep-alive>

<!-- 多个条件判断的子组件,要求只有一个子元素被渲染 -->
<keep-alive>
  <comp-a v-if="a > 1"></comp-a>
  <comp-b v-else></comp-b>
</keep-alive>

<!-- 和 `<transition>` 一起使用 -->
<transition>
  <keep-alive>
    <component :is="view"></component>
  </keep-alive>
</transition>

keep-alive标签属性

include and exclude:组件有条件地缓存,用逗号分隔字符串、正则表达式或一个数组来表示要匹配的组件名称。

匹配首先检查组件自身的 name 选项,如果 name 选项不可用,则匹配它的局部注册名称 (父组件 components 选项的键值)。匿名组件不能被匹配。

<!-- 逗号分隔字符串 -->
<keep-alive include="a,b">
  <component :is="view"></component>
</keep-alive>

<!-- 正则表达式 (使用 `v-bind`) -->
<keep-alive :include="/a|b/">
  <component :is="view"></component>
</keep-alive>

<!-- 数组 (使用 `v-bind`) -->
<keep-alive :include="[‘a‘, ‘b‘]">
  <component :is="view"></component>
</keep-alive>

max:最多可以缓存多少组件实例。一旦这个数字达到了,在新实例被创建之前,已缓存组件中最久没有被访问的实例会被销毁掉。

<keep-alive :max="10">
  <component :is="view"></component>
</keep-alive>

<keep-alive> 不会在函数式组件中正常工作,因为它们没有缓存实例。

与缓存有关的生命周期钩子activated和deactivated,参考博文:生命周期钩子

注意:activated 和 deactivated 将会在 <keep-alive> 树内的所有嵌套组件中触发。

slot:查看博文slot

<slot></slot>

原文地址:https://www.cnblogs.com/yaoyao-sun/p/10541811.html

时间: 2024-10-10 07:02:56

vue内置的标签(组件)的相关文章

Laravel 5.3 使用内置的 Auth 组件实现多用户认证功能

https://blog.csdn.net/kevinbai_cn/article/details/54341779 概述 在开发中,我们经常会遇到多种类型的用户的认证问题,比如后台的管理员和前台的普通用户.Laravel 5.3 内置的 Auth 组件已经能很好的满足这项需求,下面大概记录下使用方法. 另外,后台页面常常需要登录才能访问,为了完成类似的功能,大家一般都习惯创建新的中间件来实现.但是 Auth 组件已经存在类似的中间件,我们可以在已有的基础上进行完善,具体请看 后台认证 -> 登

Django 内置模板标签和过滤器

一.内置模板标签 语法:{%  %} autoescape : 是否转义,on或off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束 {% autoescape on %} {{ body }} {% endautoescape %} block : 定义 可以被子模块覆盖的块,具体的参阅Django模板与继承 comment : 忽略comment之间的所有内容 查看网页源码也不会存在 csrf_token : 此标记用于csrf保护,具体的参阅Django跨站请

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

1. 官方介绍及其用法 1.1 组件介绍 要想搞明白<keep-alive>组件的内部实现原理,首先我们得搞明白这个组件怎么用以及为什么要用它,关于<keep-alive>组件,官网如下介绍: <keep-alive>是Vue中内置的一个抽象组件,它自身不会渲染一个 DOM 元素,也不会出现在父组件链中.当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们. 这句话的意思简单来说:就是我们可以把一些不常变动的组件或者需要缓存的组件用<keep-alive&g

vue 内置组件__slot讲解

slot 是vue的内置组件,主要分为传值和接收值两部分; 首先写一个自定义组件:例如 <js></js> 再写一个template模板 并在构造器中使用components:{} 挂载, 在构造器的data中写一个选项方法: data: { jsData: { url: 'http://www.baidu.com', netName: '百度', skill: 'seach' } }, 主要是传值与接收值部分: 在自定义组件中传值,通过(key,value)的方式 <js&

vue内置指令与自定义指令

一.内置指令 1.v-bind:响应并更新DOM特性:例如:v-bind:href  v-bind:class  v-bind:title  v-bind:bb 2.v-on:用于监听DOM事件: 例如:v-on:click  v-on:keyup 3.v-model:数据双向绑定:用于表单输入等:例如:<input v-model="message"> 4.v-show:条件渲染指令,为DOM设置css的style属性 5.v-if:条件渲染指令,动态在DOM内添加或删除

vue内置指令详解——小白速会

指令 (Directives) 是带有 v- 前缀的特殊属性,职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM. 内置指令 1.v-bind:响应并更新DOM特性:例如:v-bind:href  v-bind:class  v-bind:title  等等 主要用法是绑定属性,动态更新HTML元素上的属性: <a v-bind:href="url">...</a> <!-- 缩写 --> <a :href="ur

Django内置模板标签

Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cycle 循环对象的值 debug 调试模式 extends 继承模版 filter 过滤功能 firstof 输出第一个不为False的参数 for 循环对象 for … empty 带empty说明的循环 if 条件判断 ifequal 如果等于 ifnotequal 如果不等于 ifchange

Vue内置的Component标签用于动态切换组件

html <div id="app"> <component :is="cut"></component> <button @click="current">点击切换</button> </div> js var classA = { template:`<div>状态1</div>` }; var classB = { template:`<d

二、Vue Router 提供的标签组件

router-link 声明式导航组件标签 支持用户在具有路由功能的应用中(点击)导航.通过to属性指定目标地址,默认渲染成<a>标签,可以通过配置tag属性生成别的标签.另外,当目标路由成功激活时,链接元素自动设置一个表示激活的CSS类名.默认是: router-link-active,可以全局配置激活类名,也可以属性的形式设置单个元素的激活类名. 将激活 class 应用在外层元素 外层元素必须是其他标签,<a>标签将作为真实的链接,而激活时的CSS类名则设置到外层的标签元素上