这是时对于平时用的多的一些方法的整理,方便在需要时直接调用
1.vue中对于数组的更改
由于 JavaScript 的限制,Vue 不能检测,当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue, 因此自己封装了自己一一些方法
//列子
// let name1 = `value`
// app._array(app.data,name1,data1);
// 数据更新数组
_array(arrayList, name, array) {
let arr = [],
app = this;
for (let n in array) {
arr.push(array[n]);
}
for (let m = 0; m < arrayList.length; m++) {
app.$set(arrayList[m], name, arr[m]);
}
}
2对于数据的处理原生方法
数据合并 var newdata = data.concat(data1); 这个合并有先后顺序
对于watch的高级用法(blog.csdn.net/wandoumm/ar… )
watch 的一个特点是,最初绑定的时候是不会执行的,需要等到绑定的值改变时才可以触发事件, 因此这里用到了
2.1.handler方法和immediate属性
watch: {
id:{
handler(newValue, oldValue) {
console.log(newValue, oldValue)
},
},
immediate: true
},
2.2.deep属性
受现代 JavaScript 的限制 (以及废弃 Object.observe),Vue 不能检测到对象属性的添加或删除, 如果我们需要监听obj里的属性a的值呢?这时候deep属性就派上用场了!
watch: {
obj: {
handler(newName, oldName) {
console.log('obj.a changed');
},
immediate: true,
deep: true
}
}
懒加载写法
require.ensure([], () => r(require('@/views/ibsdt/reload')), 'reload')
0.1+0.2!=0.3
在计算机中,数字以二进制形式存储。在JavaScript中数字采用IEEE754的双精度标准进行存储,因为存储空间有限,当出现无法整除的小数时会取一个近似值。 在0.1+0.2中0.1和0.2都是近似表示的,所以相加时两个近似值进行计算导致最后结果为0.3000,0000,0000,0004,此时对于JS来说不够近似于0.3,所以出现了0.1+0.2!=0.3,解决办法
parseFloat((0.1+0.2).toFixed(10)) === 0.3 // true