工作中用的多的一些方法的整理

224 阅读1分钟

这是时对于平时用的多的一些方法的整理,方便在需要时直接调用

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

字符串的操作

http://www.hangge.com/blog/cache/detail_1887.html