某些遗忘的内容

110 阅读1分钟
  1. props default 数组/对象的默认值应当由一个工厂函数返回。 比如:props:{ pramasA:{ type: Array, default: () => [] } }

  2. vue插槽 作用域插槽

  3. splice()

  • 截取数组
ary.splice(0,2) //截取两个值
  • 删除一个元素
var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
var removed = myFish.splice(2, 1);
//['angel', 'clown', 'sturgeon']
  • 替换数组元素,删除0个元素
ary.splice(2,0,'f') //下标为2的元素替换为f
  • 删除一个元素,替换一个元素 ary.splice(2,1,'xxx')
var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
var removed = myFish.splice(2, 1, "trumpet");
运算后的 myFish: ["angel", "clown", "trumpet", "sturgeon"]
  • 删除所有元素
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2);

// 运算后的 myFish: ["angel", "clown"]
// 被删除的元素: ["mandarin", "sturgeon"]
  1. elementUI 中el-table 的 formatter 和 scope template 不能同时存在问题解决办法 formatter作用于单个字段(即一个el-table-column)

  2. vuex mapState mapAction

  3. this.refs.xxx or this.refs.xxx[0]

  4. v-if v-else-if v-else 两个以上判断条件要用v-else-if

<div v-if></div><div v-else-if></div> <div v-else></div>(正确)
<div v-if></div><div v-if></div><div v-else></div> (错误)
  1. 字符串和数组互转
1.字符串转成数字数组
let str = '4,5,6'
let array = str.split(',').map(Number) // [4,5,6]
2. 字符串转成字符串数组
let str = '4,5,6'
let ary = str.split(',') // ['4','5','6']
3. 将数字数组转成字符串数组
let ary = [7,8,9]
let res = ary.map(String) // ['7','8','9']
let newstr = res.join(',') // 7,8,9
4. [7,8,9].toString() // '7,8,9'
  1. tree数据结构遍历item,每个item增加一个新属性
getTreeItem(data) {
      const list = data.map(item => {
        const nodeString = item.level + ',' + item.nodeIds.toString()
        if (item.children.length) {
          this.getTreeItem(item.children)
        }
        return {
          ...item,
          checkNodeKey: nodeString
        }
      })
      return list
    },
  1. for...in for...of
for...in 是es5的标准,for...of是es6的标准
for...in 适用于普通对象的遍历,循环出的是key值
for...of遍历的数据类型都需要实现一个遍历器Iterator,循环出的是value值

  1. 字符串和数据都有includes()方法