particles.js在vue中使用,以及一些常见的bug总结

particles.js的使用

全局安装particles.js

npm install --save particles.js

配置particles.js
引入particles.js文件
当你的使用范围比较小时,可以直接在当前vue文件的script中引入

//vue单文件
import particles from 'particles.js'

范围较大时,可以全局引入,在main.js引入

import particles from 'particles.js'
Vue.use(particles)

我在asset文件夹下建立一个particles.json

{
    "particles": {
      "number": {
        "value": 60,
        "density": {
          "enable": true,
          "value_area": 800
        }
      },
      "color": {
        "value": ["#344d7b","#7A378B","#551A8B"]
      },
      "shape": {
        "type": "circle",
        "stroke": {
          "width": 3,
          "color": "#fff"
        },
        "polygon": {
          "nb_sides": 5
        }
      },
      "opacity": {
        "value": 1,
        "random": false,
        "anim": {
          "enable": false,
          "speed": 1,
          "opacity_min": 0.1,
          "sync": false
        }
      },
      "size": {
        "value": 3,
        "random": true,
        "anim": {
          "enable": false,
          "speed": 40,
          "size_min": 0.1,
          "sync": false
        }
      },
      "line_linked": {
        "enable": true,
        "distance": 150,
        "color": "#4381bd",
        "opacity": 0.6,
        "width": 2
      },
      "move": {
        "enable": true,
        "speed": 4,
        "direction": "none",
        "random": false,
        "straight": false,
        "out_mode": "out",
        "bounce": false,
        "attract": {
          "enable": false,
          "rotateX": 100,
          "rotateY": 1200
        }
      }
    },
    "interactivity": {
      "detect_on": "Window",
      "events": {
        "onhover": {
          "enable": true,
          "mode": "grab"
        },
        "onclick": {
          "enable": true,
          "mode": "push"
        },
        "resize": true
      },
      "modes": {
        "grab": {
          "distance": 140,
          "line_linked": {
            "opacity": 1
          }
        },
        "bubble": {
          "distance": 400,
          "size": 40,
          "duration": 2,
          "opacity": 8,
          "speed": 3
        },
        "repulse": {
          "distance": 200,
          "duration": 0.4
        },
        "push": {
          "particles_nb": 4
        },
        "remove": {
          "particles_nb": 2
        }
      }
    },
    "retina_detect": true
  }

在template定义一个div

<div id="particles"></div>

在script配置

// 引入particles.json文件用于配置canvas
import particlesJson from '../assets/particles.json'

export default {
  name: 'particlesDemo',
  mounted(){
    // particles是我们设置的id,particlesJson是我们引入的json文件
    particlesJS('particles', particlesJson,);
}
}

在style内处设置

#particles{
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: #000000;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: 50% 50%;
}

最后呈现效果如下:
在这里插入图片描述

遇到的bug

1、根据官方文档引入,效果没有出来,官方文档引入代码如下

mounted(){
    particlesJS.load('id','path to your particles.data');
}

解决方案:
只要把.load删掉就行

mounted(){
    particlesJS('id','path to your particles.data');
}

2、效果出来了,但是我配置的json的样式没有上去
解决方案:
路径不能放在particlesJS里面,从外部引入,在赋值上去

import particlesJson from '../assets/particles.json'
mounted(){
    particlesJS('id',particlesJson );
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue使用particles.js,你需要首先引入particles.js库。如果你只在单个文件使用,可以在当前vue文件的script引入,如下所示: ```javascript import particles from 'particles.js' ``` 接下来,在挂载结束后初始化particles.js。你需要通过指定id和data路径来加载particles.json配置文件。例如,如果你的id为"particles",并且将particles.json文件放在public目录下,你可以这样写: ```javascript mounted() { particlesJS.load('particles', '/particles.json', function () { console.log('callback - particles.js config loaded'); }); } ``` 这样,你就成功在Vue引入了particles.js,并使用particles.json配置文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [particles.jsvue的实战用法](https://blog.csdn.net/weixin_44251396/article/details/103852212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [particles.jsvue上的运用](https://blog.csdn.net/qq_36838191/article/details/98476006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荒男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值