feat(runtime): 实现类名规范化功能
- 添加 normalizeClass 函数用于处理类名数组和对象 - 在 createVNode 中集成类名规范化逻辑 - 导出 normalizeClass 供外部使用 - 创建测试 HTML 示例验证类名功能 - 处理字符串、数组和对象类型的类名输入
This commit is contained in:
@@ -3,6 +3,7 @@ import {
|
||||
isFunction,
|
||||
isObject,
|
||||
isString,
|
||||
normalizeClass,
|
||||
ShapeFlags
|
||||
} from '@vue/shared'
|
||||
|
||||
@@ -21,6 +22,13 @@ export function isVNode(value): value is VNode {
|
||||
return value ? value.__v_isVNode === true : false
|
||||
}
|
||||
export function createVNode(type, props, children): VNode {
|
||||
if (props) {
|
||||
let { class: klass, style } = props
|
||||
if (klass && !isString(klass)) {
|
||||
props.class = normalizeClass(klass)
|
||||
}
|
||||
}
|
||||
|
||||
const shapeFlag = isString(type)
|
||||
? ShapeFlags.ELEMENT
|
||||
: isObject(type)
|
||||
|
||||
Reference in New Issue
Block a user