You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
408 B
20 lines
408 B
|
3 years ago
|
/* @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)
|
||
|
|
}
|
||
|
|
}
|