| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> vue动画和路由传值 -> 正文阅读 |
|
[JavaScript知识库]vue动画和路由传值 |
一、过度&动画介绍????? Vue在插入、更新或者移除 DOM时,提供多种不同方式的应用过渡效果 1.在CSS过渡和动画中自动应用class. 2.可以配合使用第三方 CSS 动画库,如 Animate.css 3.在过渡钩子函数中使用JavaScript直接操作 DOM. 4.可以配合使用第三方JavaScript 动画库,如 Velocity.js 二、组件过渡 Vue提供了 transitIon的封装组件,在下列情形中,可以给任何元素和组件添加进入/离开过渡。 当插入或删除包含在transition组件中的元素时,Vue将会做以下处理: 1.自动检索目标元素是否应用了CSS过渡或动画,如果是,在恰当的时机添加/删除CSS类名。 2.如果过渡组件提供了JavaScript钩子函数,这些钩子函数将在恰当的时机被调用。 3.如果没有找到JavaScript钩子并且也没有检测到CSS过渡/动画,DOM操作(插入/删除)在下一帧中立即执行。 三、过度的类名:(在进入/离开的过渡中,会有6个class 切换。) 1. v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。 2. v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。 3. v-enter-to: 2.1.8版及以上定义进入过渡的结束状态。在元素被插入之后下一帧生效(与此同时v-enter被移除),在过渡/动画完成之后移除。 4. v-leave:定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。 5. v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。 6. v-leave-to:2.1.8版及以上定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效(与此同时v-leave被删除),在过渡/动画完成之后移除。 四、自定义过渡的类名:过度的类名: 我们可以通过以下 attribute 来自定义过渡类名: 1.enter-class 2.enter-active-class 3.enter-to-class?(2.1.8+) 4.leave-class 5.leave-active-class 6.leave-to-class?(2.1.8+) 他们的优先级高于普通的类名,这对于 Vue 的过渡系统和其他第三方 CSS 动画库,如?Animate.css?结合使用十分有用。 五、javascript钩子函数 1.一个元素出现的过渡包括四个节点:before-enter, enter, after-enter, enter-cancelled,分别代表开始出现前,出现中,出现后。元素的离开也一样。借助V-on可以在这些节点挂载钩子函数,用于在元素过度的各节点触发这些函数。 2.出现前主要用于配置一些参数:如将opacity设置为0,enter是进入的动画过程函数。同理before-leave是离开前的状态设置,leave对应的是消失的过程函数。 3.以上钩子函数会被传入被过渡元素el作为第一个参数。 4.js钩子函数依赖Velocity Velocity是一个具有与jQuery的$ .animate()相同的API的动画引擎。它适用于和不使用jQuery。它速度非常快,它具有彩色动画,变换,循环,缓动,SVG支持和滚动功能。这是jQuery和CSS转换的最佳组合。 六、路由信息对象 1.一个路由对象(route object)表示当前激活的路由的状态信息,包含了当前 URL 解析得到的信息,还有 URL 匹配到的路由记录(route records)。 2.路由对象是不可变(immutable)的,每次成功的导航后都会产生一个新的对象。 3.路由对象出现在多个地方: 1)在组件内,即this.$route 2)在$route观察者回调内 3)router.match(location)的返回值 七、路由信息对象的属性 1. $route.path -类型:string -字符串,对应当前路由的路径,总是解析为绝对路径,如“/foo/bar" 2.$route.params -类型: Object -一个key/value对象,包含了动态片段和全匹配片段,如果没有路由参数,就是一个空对象。 3.$route.query -类型: Object -一个key/value对象,表示URL 查询参数。例如,对于路径 /foo?user=1,则有$route.query. user ==1,如果没有查询参数.则是个空对象。 4.$route.hash -类型:tring -当前路由的hash 值(带#),如果没有hash 值,则为空字符串 5.$route.fullPath 一类型:string -完成解析后的URL,包含查询参数和hash 的完整路径。 6.$route.name -当前路由的名称,如果有的话。(查看命名路由) 7.$route.matched -一个数组,包含当前路由的所有嵌套路径片段的路由记录。路由记录就是routes配置数组中的对象副本(还有在children 数组). 八、路由 1.<router-link>即: API<router-link>组件支持用户在具体路由功能的应用中(点击)导肌。通过属性指定目标地址,默认渲染成带有正确链接的<a/>标签,可以通过配置tag属性生成别的标签.另外,当目标路由成功激活时,链接元素自动设置一个表示激活的CSS类名。另外,router-link可以直接添加class和style来写样式。 2.<router-view>:组件是一个功能组件,渲染路径匹配到的视图组件。<router-view>渲染的组件还可以内嵌自己的<router-view>,根据嵌套路径,渲染嵌套组件。 1)注:无论是HTML5历史模式还是哈希模式,它的表现行为一致,所以,当你要切换路由模式,或者在IE9降级使用哈希模式,无须作任何变动。 2)在HTML5 history模式下,router-link会拦截点击事件,让浏览器不在重新加载页面。 九、路由传值的具体思路: 一、js 1.引入<Vue Router> 2.创建对象 3.使用Vue Router( Vue.use ) 4.创建路由: (1)调用组件。 (2)路由对象。 (3)放在router对象中。(把对象放在Vue Router中) (4)对象放入Vue中。 二、DOM 1.<Vue Router>导航信息 2.<route-view>放入、切换的数组组件(渲染组件) 十、实例: index.html:
index.js:
router.js:
最终效果图: 动态路由: index.html:
router.js:
最终效果图: 多层路由嵌套: index.html:
index.js:
router.js:
注:如果path中的路径为空,则默认就是那个页面,一般作为首页显示! |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 16:28:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |