首页 > 其他分享 >Vue: Day_3

Vue: Day_3

时间:2024-11-14 19:31:37浏览次数:1  
标签:Vue DOM 指定 leave duration enter 组件 Day

Vue基础

Chapter 3


  • Transition是一个Vue自带的动画过渡组件,属性有namedurationmodekeyappear

    • name是可以给该类定义name,不指定会是v

      • <template>
        	<Transition name="hello"><div></div></Transition>
        </template>
        
        <style scoped>
        .hello-enter-active,
            .hello-leave-active {
                transition: all .3s;
            }
        .hello-enter-from,
            .hello-leave-to {
                opacity: 0;
            }
        </style>
        
    • duration指定执行组件的延迟,可以指定duration="500",也可以指定:duration="{enter: 200, leave: 300}"

    • mode="out-in"指定在上一个组件执行完成后,才能就行下一场过渡,TransitionGroup不支持该属性

    • appear可以通过给Transition直接添加让DOM在初次渲染时也有动画

    • key当只有DOM中的文字修改后也想进行动画,可以使用该属性

    • <TransitionGroup
         @before-enter="fn"
         @enter="fn"
         @after-enter="fn" 
         @before-end="fn"
         @end="fn"
         @after-end="fn"
      ></TransitionGroup>
      // 每个回调函数的第一个参数都是element,只有leave和enter有第二个参数done,在完成时会执行done回调函数
      
  • TransitionGroup可以为所有的DOM添加过渡,在CSS中v-move以及v-leave-active: position: absolute;指定,也可以使用tag="div"TransitionGroup声明为div

  • KeepAlive

    • 指定保存值,使用:include="a, b"也可以使用数组:include="[a, b]"
    • 排除保存,:exclude="a, b"
    • 指定最多缓存多少个组件:max="2"
    • onActivated(() => {})在组件初次渲染和重新被插入后执行
    • onDeactivated(() => {})在组件被卸载和进入缓存后执行
  • TeleportReactDOM.createPortal一样的功能,可以将该组件下的slot传递到指定的DOM下面

    • <template>
      	// 传递到类名为.mask的DOM下面
      	<Teleport to=".mask">
          	<div>
                  1111
          	</div>
          </Teleport>
      	
      	<Teleport to=".mask">
          	<div>
              	2222    
          	</div>
          </Teleport>
      </template>
      
      // 会按顺序插入, 结果如下: 
      <div class="mask">
          <div>
              1111
          </div>
          <div>
              2222
          </div>
      </div>
      
    • 也可以使用defer属性,确保它同一时期的组件渲染/挂载后再进行插入

标签:Vue,DOM,指定,leave,duration,enter,组件,Day
From: https://www.cnblogs.com/jsst/p/18546628

相关文章

  • [原创]手把手教学之前端0基础到就业——day11( Javascript )
    文章目录day11(Javascript)01Javascript①Javascript是什么②JavaScript组成③Javascript的书写位置1.行内式(不推荐)2.内部位置使用(内嵌式)3.外部位置使用(外链式)02变量1.什么是变量2.定义变量及赋值3.注意事项4.命名规范03输入和输出1)输出形式1......
  • python+vue基于django/flask新农村综合风貌展示平台java+nodejs+php-计算机毕业设计
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • 团队项目Scrum冲刺-day4
    一、每天举行站立式会议站立式会议照片一张昨天已完成的工作成员任务陈国金用户模块接口开发凌枫整合MD编辑器陈卓恒完成管理题目页面谭立业完成题目搜索页面廖俊龙接口测试曾平凡前端页面测试曾俊涛完成题目模块接口开发薛秋昊完成题......
  • Vue学习记录03
    响应式基础声明响应式状态ref()在组合式API中,推荐使用ref()函数来声明响应式状态:import{ref}from'vue'constcount=ref(0)ref()接收参数,并将其包裹在一个带有.value属性的ref对象中返回:constcount=ref(0)console.log(count)//{value:0}console.log(......
  • 基于nodejs+vue资产管理[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景在资产管理领域,国内外已有的研究多集中在宏观的资产配置策略以及大型企业的资产管理模式等方面1。例如,国外在金融资产的量化管理方面取得了诸多成果,通过......
  • 基于nodejs+vue卓越导师双选系统[开题+源码+程序+论文]计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于导师与学员双选系统的研究,现有研究主要以传统的人工双选模式为主,专门针对卓越导师双选系统的研究较少。在国内外的教育与人才培养领域,传统双选方式......
  • vue-pdf插件实现文件预览,pdf要实现翻页显示
    <img:src="fileUrl"v-if="type==='jpg'"/><Pdfv-for="iinnumPage":page="i":key="i":src="fileUrl"v-if="type==='pdf'"/>importPdffrom'vu......
  • vue3 中,字段必须在 onShow 前定义?
    在Vue3中,如果你在组件的setup()函数中使用了生命周期钩子,比如onShow,你可能遇到了一个错误,提示你在onShow前定义了某个字段。这个错误通常意味着你尝试在组件的setup()函数中访问了一个在onShow钩子函数被调用之前尚未定义的响应式字段。为了解决这个问题,你需要确保你在......
  • vue3 h函数应用,el-table-v2定义column
    一、引入import{h}from'vue'二、column属性cellRenderer使用h函数h函数中嵌套Element组件Popconfirm{title:'注释',width:165,flexGrow:1,key:"str",dataKey:"str",cellRenderer:({rowData}:any)=>{......
  • CSS DAY2
    盒子模型:盒子模型盒子模型介绍盒子的概念   页面中的每一个标签,都可看做是一个“盒子”,通过盒子的视角更方便的进行布局浏览器在渲染(显示)网页时,会将网页中的元素看做是一个个的矩形区域,我们也形象的称之为盒子。  CSS中规定每个盒子分别由:内容区域(content)、......