介绍

v-blur 是一个Vue指令,可动态模糊元素。对于部分隐藏元素很有用,当内容还没准备好时,可以与微调器一起使用它。

例如,为付费墙模糊某些内容很方便。使用CSS,使用 blur 属性可以轻松地使内容模糊。但是,如果要动态更改模糊,则必须使用JavaScript更改模糊设置。对于Vue.js应用,有V-Blur库可以帮助我们实现动态模糊效果。这使得更改模糊设置就像添加几行代码一样容易。

安装

npm

  1. $ npm install --save v-blur

yarn

  1. $ yarn add v-blur

使用

首先需要在main.js中引入

  1. import Vue from 'vue'
  2. import vBlur from 'v-blur'
  3. Vue.use(vBlur)

在模板中使用

  1. <template>
  2. <!-- 例子1 只使用布尔值(使用默认值) -->
  3. <div v-blur="isBlurred"></div>
  4. <!-- 例子2 使用对象(使用配置值) -->
  5. <div v-blur="blurConfig"></div>
  6. </template>
  7. <script>
  8. export default {
  9. data () {
  10. return {
  11. // Example 1:
  12. // 使用默认值激活和停用模糊指令。
  13. // 在Vue.use实例化中提供或由库提供。
  14. isBlurred: true,
  15. // Example 2:
  16. // 激活和停用模糊指令,提供一个本地的
  17. // 配置对象
  18. blurConfig: {
  19. isBlurred: false,
  20. opacity: 0.3,
  21. filter: 'blur(1.2px)',
  22. transition: 'all .3s linear'
  23. }
  24. }
  25. }
  26. }
  27. };
  28. </script>

我用CLI创建了一个示例,效果如下

使用v-blur for Vue.js轻松模糊网页元素 - 图1

绑定值

绑定值可以是布尔值或对象。如果提供了布尔值,该指令将使用默认的 opacityfiltertransition 值。要使用自定义配置,可以提供具有这些属性以及 isBlurred(以确定何时应用这些样式)的对象。

option default type
isBlurred false boolean
opacity 0.5 number
filter ‘blur(1.5px)’ string
transition ‘all .2s linear’ string

使用v-blur for Vue.js轻松模糊网页元素 - 图2