index.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div class="screenBox">
  3. <!-- <svg-icon :icon-class="isFullscreen?'exit-fullscreen':'fullscreen'" /> -->
  4. <img src="./screen.svg" alt="" @click="click" class="fullscreen" />
  5. </div>
  6. </template>
  7. <script>
  8. import screenfull from "screenfull";
  9. export default {
  10. name: "Screenfull",
  11. data() {
  12. return {
  13. isFullscreen: false
  14. };
  15. },
  16. mounted() {
  17. this.init();
  18. },
  19. beforeDestroy() {
  20. this.destroy();
  21. },
  22. methods: {
  23. click() {
  24. if (!screenfull.enabled) {
  25. this.$message({
  26. message: "you browser can not work",
  27. type: "warning"
  28. });
  29. return false;
  30. }
  31. screenfull.toggle();
  32. },
  33. change() {
  34. this.isFullscreen = screenfull.isFullscreen;
  35. },
  36. init() {
  37. if (screenfull.enabled) {
  38. screenfull.on("change", this.change);
  39. }
  40. },
  41. destroy() {
  42. if (screenfull.enabled) {
  43. screenfull.off("change", this.change);
  44. }
  45. }
  46. }
  47. };
  48. </script>
  49. <style scoped>
  50. .screenfull-svg {
  51. display: inline-block;
  52. cursor: pointer;
  53. fill: #5a5e66;
  54. width: 20px;
  55. height: 20px;
  56. vertical-align: 10px;
  57. }
  58. .screenBox {
  59. display: flex;
  60. align-items: center;
  61. }
  62. </style>