zhangjian
2023-05-30 dabbcc356af21f9f2f88ac69ff07994e6e32e4fc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* @flow */
 
import { getAndRemoveAttr, addRawAttr } from 'compiler/helpers'
 
function containVOnce (el: ASTElement): boolean {
  for (const attr in el.attrsMap) {
    if (/^v\-once$/i.test(attr)) {
      return true
    }
  }
  return false
}
 
export function preTransformVOnce (el: ASTElement) {
  if (containVOnce(el)) {
    getAndRemoveAttr(el, 'v-once', true)
    addRawAttr(el, '[[once]]', true)
  }
}