LearnNewsExamplesServices
Frontmatter
id9280
titleComponent: Support deep merging for `bind_` configs
stateClosed
labels
enhancementaicore
assigneestobiu
createdAtFeb 24, 2026, 2:09 AM
updatedAtFeb 24, 2026, 2:10 AM
githubUrlhttps://github.com/neomjs/neo/issues/9280
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 24, 2026, 2:10 AM

Component: Support deep merging for bind_ configs

Closed v12.0.0 enhancementaicore
tobiu
tobiu commented on Feb 24, 2026, 2:09 AM

Currently, the bind_ configuration in Neo.component.Abstract lacks a deep merge descriptor. When a component instance is created and provided with a bind config (e.g., {store: 'stores.myStore'}), it completely overwrites any class-level bind config (e.g., {animateVisuals: ...}), rather than merging them.

This leads to unexpected loss of reactive bindings defined on the prototype.

Implementation Plan:

  • Add [isDescriptor]: true and merge: 'deep' to the bind_ configuration in src/component/Abstract.mjs.
  • Add unit tests in test/playwright/unit/state/Provider.spec.mjs to explicitly verify that class-level and instance-level bindings are correctly deep-merged.
tobiu added the enhancement label on Feb 24, 2026, 2:09 AM
tobiu added the ai label on Feb 24, 2026, 2:09 AM
tobiu added the core label on Feb 24, 2026, 2:09 AM
tobiu assigned to @tobiu on Feb 24, 2026, 2:09 AM
tobiu referenced in commit 115965a - "feat(component): Support deep merging for 'bind' configs (#9280) on Feb 24, 2026, 2:10 AM
tobiu
tobiu Feb 24, 2026, 2:10 AM

The framework change has been implemented and pushed to the dev branch.

tobiu closed this issue on Feb 24, 2026, 2:10 AM