企业如何通过vue小程序开发满足高效运营与合规性需求
752
2023-01-20
本文目录一览:
本章节vue开发教程我们主要介绍 Vue.js 的过渡效果与动画效果。包括如何编写自定义 CSS 动画、如何配合第三方 CSS 动画库、过渡钩子函数的使用、如何使用第三方 JavaScript 动画库。本小节的内容相对之前有些难度,同学们在阅读一遍之后如果不能完全掌握,建议反复阅读,并把本小节的所有案例自己实现一遍,相信通过多次的练习一定可以掌握。
Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 包括以下工具: 1、在 CSS 过渡和动画中自动应用 classvue开发教程; 2、配合使用第三方 CSS 动画库,如 Animate.css; 3、在过渡钩子函数中使用 JavaScript 直接操作 DOM; 4、配合使用第三方 JavaScript 动画库,如 Velocity.js。
使用 transition 组件包裹需要使用过渡效果的 DOM 元素。例如:
接下来让我们先看一个淡入淡出效果的实现代码:
实例演示
运行案例点击 "运行案例" 可查看在线运行效果
代码解释:
那么,transition 组件是如何做到这样的过渡效果的呢vue开发教程?
我想,同学们肯定猜想到当元素切换状态的时候,我们定义的样式会作用于标签元素
。那么,到底是不是这样呢?
打开控制台,检索到
标签上,我们可以清晰地看到:
实际上 Vue 在元素显示与隐藏的过渡中,提供了 6 个 class 来切换:
对于这些在过渡中切换的类名来说,如果你使用一个没有名字的 ,则 v- 是这些类名的默认前缀。如果你使用了 ,那么 v 会替换为 test-transition。例如:test-transition-enter、test-transition-enter-active、test-transition-leave…
在日常开发中,我们经常会使用 CSS 过渡来实现一些简单的动画效果。接下来我们用一个示例来学习如何使用:
实例演示
"运行案例" 可查看在线运行效果
代码解释:
同样,我们可以使用 CSS 动画来实现元素的过渡效果。CSS 动画用法类似 CSS 过渡,在过渡的不同阶段对应的 Class 会作用于元素。但是在动画中 v-enter 类名在节点插入 DOM 后不会立即删除,而是在 animationend 事件触发时删除。 相信同学们在日常业务开发中一定使用过 Dialog,接下来我们就使用 CSS 动画来实现它的过渡效果:
实例演示
"运行案例" 可查看在线运行效果
代码解释:
在之前的两个案例中,我们通过给 transition 设置 name 属性来指定元素在不同阶段的样式类名,但有时候希望使用自定义的过渡类名,我们可以通过给 transition 设置以下属性来达到需求:
自定义过渡的类名优先级高于普通的类名,这样就能很好地与第三方(如:animate.css)的动画库结合使用。
在很多情况下,Vue 可以自动得出过渡效果的完成时机。默认情况下,Vue 会等待其在过渡效果的根元素的第一个 transitionend 或 animationend 事件。然而也可以不这样设定 —— 比如,我们可以拥有一个精心编排的一系列过渡效果,其中一些嵌套的内部元素相比于过渡效果的根元素有延迟的或更长的过渡效果。
在这种情况下你可以用 组件上的 duration 属性定制一个显性的过渡持续时间 (以毫秒计):
你也可以定制进入和移出的持续时间:
transition 组件在过渡的不同阶段会触发相应的钩子函数:
这些钩子函数可以结合 CSS transitions/animations 使用,也可以单独使用。
当只用 JavaScript 过渡的时候,在 enter 和 leave 中必须使用 done 进行回调。否则,它们将被同步调用,过渡会立即完成。
推荐对于仅使用 JavaScript 过渡的元素添加 v-bind:css="false" ,Vue 会跳过 CSS 的检测。这也可以避免过渡过程中 CSS 的影响。
接下来我们来看一个使用钩子函数和 Velocity.js 实现过渡动画的例子:
实例演示
"运行案例" 可查看在线运行效果
代码解释:
有时候我们希望给元素设置初始渲染的过渡效果,可以通过给 transition 设置 appear 的 attribute :
这里默认和进入 / 离开过渡一样,同样也可以自定义 CSS 类名:
同样地,可以使用自定义 JavaScript 钩子:
接下来我们看一个完整的示例:
实例演示
"运行案例" 可查看在线运行效果
代码解释:
本小节我们介绍了如何使用 transition 实现过渡和动画效果,主要包括以下知识点:
本小节我们会介绍数据管理工具 vuex 。包括什么是 Vuex、Vuex 的安装、以及如何创建和使用 Vuex 数据仓库。
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
让我们从一个简单的 Vue 计数应用开始:
实例演示
"运行案例" 可查看在线运行效果
这个状态自管理应用包含以下几个部分:
以下是一个表示 “单向数据流” 理念的简单示意:
但是,当我们的应用遇到多个组件共享状态时,单向数据流的简洁性很容易被破坏:
对于问题一,传参的方法对于多层嵌套的组件将会非常繁琐,并且对于兄弟组件间的状态传递无能为力。对于问题二,我们经常会采用父子组件直接引用或者通过事件来变更和同步状态的多份拷贝。以上的这些模式非常脆弱,通常会导致无法维护的代码。
因此,我们为什么不把组件的共享状态抽取出来,以一个全局单例模式管理呢?在这种模式下,我们的组件树构成了一个巨大的 “视图”,不管在树的哪个位置,任何组件都能获取状态或者触发行为!
通过定义和隔离状态管理中的各种概念并通过强制规则维持视图和状态间的独立性,我们的代码将会变得更结构化且易维护。
Vuex 可以帮助我们管理共享状态,并附带了更多的概念和框架。这需要对短期和长期效益进行衡量。
如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此 —— 如果您的应用够简单,您最好不要使用 Vuex。一个简单的 store 模式就足够您所需了。但是,如果您需要构建一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。
我们可以在官网 (vuex) 上直接- vuex 。 在 Vue 之后引入 vuex 会进行自动安装:
在一个模块化的打包系统中,您必须显式地通过 Vue.use() 来安装 Vuex:
当使用全局 script 标签引用 Vuex 时,不需要以上安装过程。
每一个 Vuex 应用的核心就是 store(仓库)。“store” 基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。Vuex 和单纯的全局对象有以下两点不同:
实例演示
"运行案例" 可查看在线运行效果
代码解释 在 JS 代码第 4-8 行,通过 new Vuex.Store ({…}) 创建数据仓库。 在 JS 代码第 12 行,我们可以通过 store.state.count 访问仓库中定义的数据。
本节,我们带大家学习了 vuex 的基本概念。主要知识点有以下几点:
本小节我们介绍 Vue 中如何进行事件处理。在章节 2.2 中我们已经介绍了指令 v-on ,本章节我们将详细介绍在 v-on 的一些用法。包括如何传递参数、如何使用事件修饰符等。其中,事件修饰符是本章节的难点。事件修饰符很多,同学们不需要一下子都记住,只要学会如何使用它,在开发过程中如果有所遗忘,可以通过翻看文档来使用。
使用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。
实例演示
"运行案例" 可查看在线运行效果
代码解释: 在 html 第 3 行,我们使用 v-on 指令给 button 元素绑定来一个 click 事件,并在点击的时候执行 count + 1 的操作。
在上面的例子中,我们把事件处理函数直接写在模板中,然而许多事件处理的逻辑都很复杂,所以直接把JS代码写在 v-on 指令中有时并不可行,v-on 指令可以接收一个定义的方法来调用。示例如下:
实例演示
"运行案例" 可查看在线运行效果
代码解释: 在 html 第 3 行,我们使用 v-on 指令给 button 元素绑定来一个 click 事件,并在点击的时候执行 add 方法。 在 JS 代码第 9-11 行,我们定义了方法 add;触发该方法时给 count + 1。
有时候我们需要在事件触发的时候传递一些参数,
实例演示
"运行案例" 可查看在线运行效果
代码解释: 在 html 第 3 行,我们使用 v-on 指令给 button 元素绑定了一个 click 事件,并在点击的时候执行 add 方法。 在 JS 代码第 9-11 行,我们定义了方法 add;触发该方法时给 count + 1。
有时我们需要在内联语句处理器中访问原始的 DOM 事件。可以用特殊变量 $event 把它传入方法:
实例演示
"运行案例" 可查看在线运行效果
代码解释: 在上述 JS 代码第 9-12 行,我们定义了事件函数 setCount。 在按钮点击事件中,我们将 $event 对象传递给函数,因此,在函数 setCount 中可以访问到原生事件对象。
在事件处理程序中调用 event.preventDefault() 或 event.stopPropagation() 是非常常见的需求。尽管我们可以在方法中轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。为了解决这个问题,Vue.js 为 v-on 提供了事件修饰符。实现方法就是在事件名称后面以后缀的形式添加指定的修饰符。
Vue 提供了以下事件修饰符:
接下来,我们用一个完整的示例来看下这些修饰符的使用方法。
实例演示
"运行案例" 可查看在线运行效果
代码解释: 代码第 4-7 行,stop 案例中,当我们给按钮 click 事件添加 .stop 修饰符之后,点击按钮,事件不会向上传递。 代码第 10-16 行,submit.prevent 案例中,当给 submit 事件添加 .prevent 修饰符之后,提交事件不再重载页面。 代码第 19-21 行,capture 案例中,我们给父容器添加了 capture 事件,当点击按钮的时候,会先触发 capture 中的事件函数,然后再触发按钮绑定的点击事件。 代码第 24-26 行,self 案例中,我们给父容器的点击事件添加了 .self 的修饰符,所以只有点击父容器的时候才会触发该方法,当点击按钮的时候并不会触发父容器绑定的事件。 代码第 29-31 行,once 案例中,我们给按钮的点击事件添加了 .once 的修饰符,所以只有首次点击按钮的时候会触发事件函数,再次点击之后将不会触发事件函数。
在监听键盘事件时,我们经常需要检查详细的按键。Vue 允许为 v-on 在监听键盘事件时添加按键修饰符:
为了在必要的情况下支持旧浏览器,Vue 提供了绝大多数常用的按键码的别名:
可以用如下修饰符来实现仅在按下相应按键时才触发鼠标或键盘事件的-。
注意:在 Mac 系统键盘上,meta 对应 command 键 ( )。在 Windows 系统键盘 meta 对应 Windows 徽标键 ( )。在 Sun 操作系统键盘上,meta 对应实心宝石键 ( )。在其他特定键盘上,尤其在 MIT 和 Lisp 机器的键盘、以及其后继产品,比如 Knight 键盘、space-cadet 键盘,meta 被标记为“META”。在 Symbolics 键盘上,meta 被标记为“META”或者“Meta”。
例如:
Vue提供了.exact修饰符,实现单独的系统按键的事件。
例如:
本节,我们带大家学习了事件处理。主要知识点有以下几点:
关于vue开发教程和vue开发技巧的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 vue开发教程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vue开发技巧、vue开发教程的信息别忘了在本站进行查找喔。版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~