执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\components\\Sticky\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\components\\Sticky\\index.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnU3RpY2t5JywKICBwcm9wczogewogICAgc3RpY2t5VG9wOiB7CiAgICAgIHR5cGU6IE51bWJlciwKICAgICAgZGVmYXVsdDogMAogICAgfSwKICAgIHpJbmRleDogewogICAgICB0eXBlOiBOdW1iZXIsCiAgICAgIGRlZmF1bHQ6IDEKICAgIH0sCiAgICBjbGFzc05hbWU6IHsKICAgICAgdHlwZTogU3RyaW5nLAogICAgICBkZWZhdWx0OiAnJwogICAgfQogIH0sCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGFjdGl2ZTogZmFsc2UsCiAgICAgIHBvc2l0aW9uOiAnJywKICAgICAgd2lkdGg6IHVuZGVmaW5lZCwKICAgICAgaGVpZ2h0OiB1bmRlZmluZWQsCiAgICAgIGlzU3RpY2t5OiBmYWxzZQogICAgfQogIH0sCiAgbW91bnRlZCgpIHsKICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy4kZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5oYW5kbGVTY3JvbGwpCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5oYW5kbGVSZXNpemUpCiAgfSwKICBhY3RpdmF0ZWQoKSB7CiAgICB0aGlzLmhhbmRsZVNjcm9sbCgpCiAgfSwKICBkZXN0cm95ZWQoKSB7CiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5oYW5kbGVTY3JvbGwpCiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5oYW5kbGVSZXNpemUpCiAgfSwKICBtZXRob2RzOiB7CiAgICBzdGlja3koKSB7CiAgICAgIGlmICh0aGlzLmFjdGl2ZSkgewogICAgICAgIHJldHVybgogICAgICB9CiAgICAgIHRoaXMucG9zaXRpb24gPSAnZml4ZWQnCiAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZQogICAgICB0aGlzLndpZHRoID0gdGhpcy53aWR0aCArICdweCcKICAgICAgdGhpcy5pc1N0aWNreSA9IHRydWUKICAgIH0sCiAgICBoYW5kbGVSZXNldCgpIHsKICAgICAgaWYgKCF0aGlzLmFjdGl2ZSkgewogICAgICAgIHJldHVybgogICAgICB9CiAgICAgIHRoaXMucmVzZXQoKQogICAgfSwKICAgIHJlc2V0KCkgewogICAgICB0aGlzLnBvc2l0aW9uID0gJycKICAgICAgdGhpcy53aWR0aCA9ICdhdXRvJwogICAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlCiAgICAgIHRoaXMuaXNTdGlja3kgPSBmYWxzZQogICAgfSwKICAgIGhhbmRsZVNjcm9sbCgpIHsKICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aAogICAgICB0aGlzLndpZHRoID0gd2lkdGggfHwgJ2F1dG8nCiAgICAgIGNvbnN0IG9mZnNldFRvcCA9IHRoaXMuJGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcAogICAgICBpZiAob2Zmc2V0VG9wIDwgdGhpcy5zdGlja3lUb3ApIHsKICAgICAgICB0aGlzLnN0aWNreSgpCiAgICAgICAgcmV0dXJuCiAgICAgIH0KICAgICAgdGhpcy5oYW5kbGVSZXNldCgpCiAgICB9LAogICAgaGFuZGxlUmVzaXplKCkgewogICAgICBpZiAodGhpcy5pc1N0aWNreSkgewogICAgICAgIHRoaXMud2lkdGggPSB0aGlzLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCArICdweCcKICAgICAgfQogICAgfQogIH0KfQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/components/Sticky","sourcesContent":["<template>\n  <div :style=\"{height:height+'px',zIndex:zIndex}\">\n    <div\n      :class=\"className\"\n      :style=\"{top:(isSticky ? stickyTop +'px' : ''),zIndex:zIndex,position:position,width:width,height:height+'px'}\"\n    >\n      <slot>\n        <div>sticky</div>\n      </slot>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'Sticky',\n  props: {\n    stickyTop: {\n      type: Number,\n      default: 0\n    },\n    zIndex: {\n      type: Number,\n      default: 1\n    },\n    className: {\n      type: String,\n      default: ''\n    }\n  },\n  data() {\n    return {\n      active: false,\n      position: '',\n      width: undefined,\n      height: undefined,\n      isSticky: false\n    }\n  },\n  mounted() {\n    this.height = this.$el.getBoundingClientRect().height\n    window.addEventListener('scroll', this.handleScroll)\n    window.addEventListener('resize', this.handleResize)\n  },\n  activated() {\n    this.handleScroll()\n  },\n  destroyed() {\n    window.removeEventListener('scroll', this.handleScroll)\n    window.removeEventListener('resize', this.handleResize)\n  },\n  methods: {\n    sticky() {\n      if (this.active) {\n        return\n      }\n      this.position = 'fixed'\n      this.active = true\n      this.width = this.width + 'px'\n      this.isSticky = true\n    },\n    handleReset() {\n      if (!this.active) {\n        return\n      }\n      this.reset()\n    },\n    reset() {\n      this.position = ''\n      this.width = 'auto'\n      this.active = false\n      this.isSticky = false\n    },\n    handleScroll() {\n      const width = this.$el.getBoundingClientRect().width\n      this.width = width || 'auto'\n      const offsetTop = this.$el.getBoundingClientRect().top\n      if (offsetTop < this.stickyTop) {\n        this.sticky()\n        return\n      }\n      this.handleReset()\n    },\n    handleResize() {\n      if (this.isSticky) {\n        this.width = this.$el.getBoundingClientRect().width + 'px'\n      }\n    }\n  }\n}\n</script>\n"]}]}