fix(state): 修复组件 $. 属性在初始化时丢失响应式绑定的 Bug(by AI)
This commit is contained in:
parent
1e46c8a76e
commit
eb0145ea85
@ -1,5 +1,11 @@
|
|||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
## v1.0.23 (2026-07-06)
|
||||||
|
|
||||||
|
### 修复
|
||||||
|
- **组件 `$.` 属性响应式绑定修复**:
|
||||||
|
- 注释了组件属性初始化时的 `node.removeAttribute(attr.name)`,以防止 `$.` 开头的组件属性在第一次赋完初值后被从 DOM 上永久删除,从而使其能够滑入后置的指令收集队列进行 `_initBinding` 注册,建立了完整的 Proxy 驱动链。
|
||||||
|
|
||||||
## v1.0.22 (2026-07-04)
|
## v1.0.22 (2026-07-04)
|
||||||
|
|
||||||
### 核心增强与样式合并优化
|
### 核心增强与样式合并优化
|
||||||
|
|||||||
1
dist/state.js
vendored
1
dist/state.js
vendored
@ -501,7 +501,6 @@
|
|||||||
if (prop[i]) o = o[_a2 = prop[i]] ?? (o[_a2] = {});
|
if (prop[i]) o = o[_a2 = prop[i]] ?? (o[_a2] = {});
|
||||||
}
|
}
|
||||||
o[prop[prop.length - 1]] = result;
|
o[prop[prop.length - 1]] = result;
|
||||||
node.removeAttribute(attr.name);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
_makeComponent(node.tagName, node, scanObj);
|
_makeComponent(node.tagName, node, scanObj);
|
||||||
|
|||||||
2
dist/state.min.js
vendored
2
dist/state.min.js
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@apigo.cc/state",
|
"name": "@apigo.cc/state",
|
||||||
"version": "1.0.22",
|
"version": "1.0.23",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/state.js",
|
"main": "dist/state.js",
|
||||||
"module": "dist/state.js",
|
"module": "dist/state.js",
|
||||||
|
|||||||
@ -322,7 +322,7 @@ export function _parseNode(node, scanObj) {
|
|||||||
const prop = realAttrName.split('.');
|
const prop = realAttrName.split('.');
|
||||||
for (let i = 0; i < prop.length - 1; i++) { if (prop[i]) o = (o[prop[i]] ??= {}); }
|
for (let i = 0; i < prop.length - 1; i++) { if (prop[i]) o = (o[prop[i]] ??= {}); }
|
||||||
o[prop[prop.length - 1]] = result;
|
o[prop[prop.length - 1]] = result;
|
||||||
node.removeAttribute(attr.name);
|
// node.removeAttribute(attr.name);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
_makeComponent(node.tagName, node, scanObj);
|
_makeComponent(node.tagName, node, scanObj);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user