项目总结

101 阅读1分钟

1.禁止拖动

在mounted中写入

    var mo = function (e) {
            e.preventDefault();
        }
        document.body.style.overflow = "hidden";
        document.addEventListener("touchmove", mo. false);// 禁止页面滑动

2.sessionstronge和localstronge配合v-if使用时的一些问题

本地存储时会转换为string,所以如果存布尔值的话需要通过 Boolean()转换为布尔值

localStorage.elc2=899

window.sessionStorage.getItem('elc2')

删除指定元素

window.sessionStorage.removeItem('elc2')

清除

window.sessionStorage.clear()

3.开发过程

开发时要全屏,不允许有拖动

4.ios中消除下面左右箭头

push带有返回属性,replace直接在堆栈中添加

this.$router.reqlace()
替换
this.$router.push()
或者在
<router-link to='sz' replace>   </router-link>

5.更新网页后添加参数实现页面刷新

6.分享链接后打开分享页面为主页面

 beforeCreate(){
    this.$router.replace('/')
  },

7.项目优化

图片处理方案

对图片进行压缩

对图片进行预加载

for (let img of this.arr) {
      let image = new Image()
      image.src = img
      image.onload=()=>{
      }
    }

项目进行扁平化开发

减少不必要的DIV盒子,直接img标签

组件化开发

通过components组件化开发对重复代码进行优化

另一种预加载方法

引入preloadsjs

 

npm install preload-js --save

初始化

 var createjs = require('preload-js')//或者
 import createjs from 'preload-js'
 load() {
      let arr = [
        "x1.png",
        "x2.png",
        "nav.png",
        "p1_1.png",
        "p1_2.png",
        "bg1.jpg",
        "star1.png",
        "star2.png",
        "star3.png",
      ];
      var queue = new createjs.LoadQueue();//图片的预加载
​
      for (let i = 1, len = arr.length; i <= len; i += 1) {
        let src = require("@/assets/img/" + arr[i - 1]);
        queue.loadFile({ id: arr[i - 1], src });
      }
    },

截取视频第一帧

 <video ref="video" id="video-s" v-if="url.indexOf('http') !== -1"
                style="animation-delay: 1s;animation-duration: 1.5s;" controls="" :src='`${url}?${Math.random()}`'
                :poster="`${url}?x-oss-process=video/snapshot,t_2000,f_jpg,m_fast`" class="video-a" />