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) 
 |    } 
 |  } 
 |  
  |