component-parser.js 512 字节
Newer Older
fxy060608's avatar
fxy060608 已提交
1
const {
Q
qiang 已提交
2 3
  ID,
  elements
fxy060608's avatar
fxy060608 已提交
4 5
} = require('../util')

fxy060608's avatar
fxy060608 已提交
6 7 8
const {
  isComponent
} = require('../../util')
fxy060608's avatar
fxy060608 已提交
9 10 11 12

// 仅限 view 层
module.exports = function parseComponent (el) {
  // 需要把自定义组件的 attrs, props 全干掉
Q
qiang 已提交
13
  if (el.tag && !elements.includes(el.tag) && isComponent(el.tag)) {
14
    // 仅保留 id、ID、data
fxy060608's avatar
fxy060608 已提交
15 16
    el.attrs && (el.attrs = el.attrs.filter(attr => {
      const name = attr.name
17
      return name === 'id' || name === ID || name.indexOf('data-') === 0
fxy060608's avatar
fxy060608 已提交
18
    }))
fxy060608's avatar
fxy060608 已提交
19
  }
20
}