别动手动脚的,把手拿开!
我是在地球上成长的赛亚人!

    前端性能优化

  工作 中遇到的性能问题

Posted by CC on February 14, 2017

banner大图

http://www.chuangweilvsuo.cn/index.html banner大图 展示缓慢 最高加载到10秒 降低图片质量,边缘若是大面积没有图像只有单色的话,就裁减掉直接用背景颜色代替 —— 像这样大的图片,降低到二三十KB,质量仍然可以接受的

vue中mounted里ajax方法赋值

methods 里ajax生成的数据,怎么赋值给data,我一直在思考,怎么做成响应式的 var vm = new Vue({ el:’#all’, data:{ detail:[ {name:’五档’,id:’0’,iscur:true}, {name:’单价’,id:’1’,iscur:false}, {name:’数量’,id:’2’,iscur:false}, {name:’总价’,id:’3’,iscur:false}, ], info_in:[], info_out:[]

},
mounted: function () {
    var that = this;
    $.ajax({
        type:"GET",
        url:"/trade_data",
        data:{type:$_GET['type'],ext:$_GET['ext']},
        dataType:"json",
        success: function(result) {
            that.info_in=result.in;
            that.info_out=result.out;
        }
    })
}  })  这样的话 页面中一开始如果显示info_in的值,就会报错,  onload事件绑定Ajax请求,请求成功回调中再实例化Vue,弄个几万条数据,会让页面空白,

created的时候请求如果到了mounted还拿不到结果、可以出loading动画

不要让页面等待请求之后再渲染、万一用户网速不好、却看不到loading动画而是一片空白、首先会想到网站的问题、如果有loading动画、才会知道、是在等待请求

用loading动画、更让用户容易理解 Vue可以在第一时间实例化,这时的data可以没有值,界面上展示loading或”正在加载”之类的提示,同时在实例的created钩子中发起数据请求,得到数据后给实例赋值就行了,vm.data = ajaxData。

简单的操作是再加个变量a 让a初始值为false 在html里面用v-if展示数据 当拿到数据,让a为true,再显示数据

考虑用户的体验 需要一个遮罩层 用类似a这样的变量控制他是否出现 写一个div 一进页面就有 有数据就消失

要个loading

vue实例的data中,声明了才会响应式,如果不声明的话,使用$set之后再添加

关于分享

console.log(([][[]]+[])[+!![]]+([]+{})[!+[]+!![]])

(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]