美文网首页
vue-内置组件

vue-内置组件

作者: 清风昙 | 来源:发表于2022-03-13 20:49 被阅读0次
    • component
      渲染一个“元组件”为动态组件。依 is 的值,来决定哪个组件被渲染。is 的值是一个字符串,它既可以是 HTML 标签名称也可以是组件名称。
    <!--  动态组件由 vm 实例的 `componentId` property 控制 -->
    <component :is="componentId"></component>
    <!-- 也能够渲染注册过的组件或 prop 传入的组件-->
    <component :is="$options.components.child"></component>
    <!-- 可以通过字符串引用组件 -->
    <component :is="condition ? 'FooComponent' : 'BarComponent'"></component>
    <!-- 可以用来渲染原生 HTML 元素 -->
    <component :is="href ? 'a' : 'span'"></component>
    
    • transition
      <transition> 元素作为单个元素/组件的过渡效果。<transition> 只会把过渡效果应用到其包裹的内容上,而不会额外渲染 DOM 元素,也不会出现在可被检查的组件层级中。
    <!-- 单个元素 -->
    <transition>
      <div v-if="ok">toggled content</div>
    </transition>
    <!-- 动态组件 -->
    <transition name="fade" mode="out-in" appear>
      <component :is="view"></component>
    </transition>
    <!-- 事件钩子 -->
    <div id="transition-demo">
      <transition @after-enter="transitionComplete">
        <div v-show="ok">toggled content</div>
      </transition>
    </div>
    
    • transition-group
      <transition-group> 支持通过 CSS transform 过渡移动。当一个子节点被更新,从屏幕上的位置发生变化,它会被应用一个移动中的 CSS 类 (通过 name attribute 或配置 move-class attribute 自动生成)。如果 CSS transform property 是“可过渡”property,当应用移动类时,将会使用 [FLIP 技术 (opens new window)]使元素流畅地到达动画终点。
    <transition-group tag="ul" name="slide">
      <li v-for="item in items" :key="item.id">
        {{ item.text }}
      </li>
    </transition-group>
    
    • keep-alive
      <keep-alive> 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 <transition> 相似,<keep-alive> 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在组件的父组件链中。
      当组件在 <keep-alive> 内被切换,它的 activated 和 deactivated 这两个生命周期钩子函数将会被对应执行。
      主要用于保留组件状态或避免重新渲染。
    <!-- 基本 -->
    <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>
    

    相关文章

      网友评论

          本文标题:vue-内置组件

          本文链接:https://www.haomeiwen.com/subject/orsddrtx.html