当前位置:   article > 正文

element-resize-detector_elementresizedetectormaker

elementresizedetectormaker

碎碎念:

工作遇到了,然后就在网上各种copy了,CV搬砖

element-resize-detector 监听元素宽高变化,可以帮助使用者在元素尺寸发生变化时执行某些操作,比如浏览器显示区域变化echarts跟着变化。

link1: https://github.com/wnr/element-resize-detector.git

link2:GitHub - wnr/element-resize-detector: Optimized cross-browser resize listener for elements.

1、安装

方式1:

npm install element-resize-detector --save

方式2:

下载js库在script标签中引用

<script src="/path/to/element-resize-detector.js"></script>

2、引入

Secen1

Vue2项目可在main.js中引用并全局挂载

  1. import ElementResizeDetectorMaker from "element-resize-detector";
  2. Vue.prototype.$erd = ElementResizeDetectorMaker();

Secen2

也可以在需要使用的页面使用

注意:这里使用require引用 

var elementResizeDetectorMaker = require("element-resize-detector");

3、使用

Secen1

  1. dynamicResize() {
  2. this.$erd.listenTo(
  3. document.querySelector(".line-container"),
  4. _.debounce(() => {
  5. this.resizeChart();
  6. }, 300)
  7. );
  8. },

Secen2

  1. dynamicResize() {
  2. var erd = elementResizeDetectorMaker();
  3. erd.listenTo(
  4. document.querySelector(".line-container"),
  5. _.debounce(() => {
  6. this.resizeChart();
  7. }, 300)
  8. );
  9. },

在mounted中使用这个方法即可

  1. mounted() {
  2. this.myChart = this.$echarts.init(this.$refs.lineContainer);
  3. this.initChart();
  4. this.dynamicResize();
  5. },

在页面销毁前停止监听

Secen1

  1. beforeDestroy() {
  2. this.$erd.uninstall(document.querySelector(".line-container"));
  3. },

Secen2

  1. beforeDestroy() {
  2. var erd = elementResizeDetectorMaker();
  3. erd.uninstall(document.querySelector(".line-container"));
  4. },

然后就没然后了,完工!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/223177
推荐阅读
相关标签
  

闽ICP备14008679号