ngx-context-store
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

NgxContextStore

An alternative yet advanced mechanism for Angular components to share data.

Demo on StackBlitz

Getting started

Install via NPM

npm install ngx-context-store

Import the NgxContextStoreModule

@NgModule({
  /* ... */
  imports: [
    /* ... */
    NgxContextStoreModule,
  ],
})
export class AppModule { }

Usage

You can use the setContext (optionally with setContextUnder) or setContextO directive to put some data into the context.

Then you can get this data everywhere inside with the getContext directive.

Easy syntax

<div [setContext]="'some value'"><!-- $implicit context -->
  <div *setContext="'other value' under 'other'"> <!-- 'other' is the name of the context key -->
    <div *getContext="let implicit; let other = other">
      <strong>
        {{implicit}} === 'some value'
        {{other}} === 'other value'
      </strong>
    </div>
  </div>
</div>

Over multiple components

<!-- parent.component -->

<div [setContextO]="{ lastname: 'Appleseed', info: '...' }">
    <child-component></child-component>
</div>
<!-- child.component -->

<div *setContext="myHelp under 'help'"> <!-- myHelp is a function -->
    <grandchild-component></grandchild-component>
</div>
<!-- grandchild.component -->

<div *getContext="let lastname = lastname; let info = info; let help = help">
    Lastname: {{lastname}}
    Info: {{info}}
    Help: {{help()}}
</div>

Package Sidebar

Install

npm i ngx-context-store

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

64.8 kB

Total Files

18

Last publish

Collaborators

  • henczi