vue3-yuanma/packages/runtime-test/src/patchProp.ts

23 lines
515 B
TypeScript
Raw Normal View History

import { TestElement, logNodeOp, NodeOpTypes } from './nodeOps'
2018-10-29 05:43:27 +08:00
import { isOn } from '@vue/shared'
2019-06-20 21:28:37 +08:00
export function patchProp(
el: TestElement,
key: string,
2019-06-20 21:28:37 +08:00
nextValue: any,
prevValue: any
) {
logNodeOp({
type: NodeOpTypes.PATCH,
targetNode: el,
propKey: key,
propPrevValue: prevValue,
propNextValue: nextValue
})
el.props[key] = nextValue
2018-10-29 05:43:27 +08:00
if (isOn(key)) {
const event = key.slice(2).toLowerCase()
;(el.eventListeners || (el.eventListeners = {}))[event] = nextValue
}
}