Skip to content

provide/inject cascading nature documentation #2414

Open
@padcom

Description

@padcom

What problem does this feature solve?

When using provide multiple times in the component tree, the closes parent provides the value injected with inject. This means that if we have let's say a Menu component that provides some data and functionality and then in one of the MenuItems that uses this functionality we'll provide them again using the same injection key two things will happen:

  • the child components will get the value provided by 2nd-level Menu
  • for other components outside of that tree, the value will still be from the closes parent, so won't be overriden

This behavior is great for composing component tree from individual components that need to know about themselves. In the docs there's just the statement:

Providing reactive values allows the descendant components using the provided value to establish a reactive connection to the provider component.

I think it'd be great if the scoping nature of provide would be better explained, maybe with an example.

This is a purely documentation issue - everything works as expected code-wise.

What does the proposed API look like?

No changes

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions