← 返回首页
asyncapi-react/docs/usage/angular.md at next · asyncapi/asyncapi-react · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

Latest commit

 

History

History
118 lines (85 loc) · 3.78 KB
 next
Top

File metadata and controls

  • Preview
  • Code
  • Blame
118 lines (85 loc) · 3.78 KB

Using in Angular

If you wanna use the React AsyncAPI component in your Angular project, you have two options:

  • you may want to use the AsyncApiStandalone bundle with React and ReactDom onboard (preferred option).
  • you may want to use the @asyncapi/web-component component as a plain web component.

Standalone Bundle

Prerequisites

First read the Readme document and install the React AsyncAPI component by:

npm install --save @asyncapi/react-component

Usage

To use component in Angular, follow these steps:

  1. Import @asyncapi/react-component/browser/standalone bundle and create similar component as below:
import { Component, ElementRef, OnDestroy, AfterViewInit, } from '@angular/core'; import AsyncApiStandalone from "@asyncapi/react-component/browser/standalone"; @Component({ selector: 'asyncapi', template: ` <div id="asyncapi-doc"></div> `, styleUrls: ['./asyncapi.component.scss'] }) export class AsyncApiComponent implements OnDestroy, AfterViewInit { constructor(private element: ElementRef) {} ngAfterViewInit() { const schema = `...`; // AsyncAPI specification, fetched or pasted. const config = {}; // Configuration for component. This same as for normal React component const container = this.element.nativeElement.querySelector('#asyncapi-doc'); AsyncApiStandalone.render({ schema, config }, container); } ngOnDestroy(): void { this.element.nativeElement.querySelector('#asyncapi-doc').remove(); } }
  1. Update given NgModule in which you want to use the component by importing the component into the declarations array.

  2. Import styles from @asyncapi/react-component/styles/default.min.css:

    • import styles in main css file by @import @asyncapi/react-component/styles/default.min.css.
    • or import styles using path node_modules/@asyncapi/react-component/styles/default.min.css in angular.json file.
    • or copy content from @asyncapi/react-component/styles/default.min.css to assets/asyncapi.min.css and import file like in the second point.
  3. Use the component in your application.

Web component

Prerequisites

First read the Web Component usage document and install the web-component as described in the mentioned document.

Usage

To use the component in Angular, follow these steps:

  1. Update AppModule by adding the CUSTOM_ELEMENTS_SCHEMA to the schemas array in the NgModule metadata:
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; @NgModule({ ... schemas: [ CUSTOM_ELEMENTS_SCHEMA, ] }) export class AppModule {}
  1. Import the @asyncapi/web-component module in an Angular's component where you want to use the web component:
import { Component } from '@angular/core'; import '@asyncapi/web-component/lib/asyncapi-web-component'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { ... }
  1. Use web component in the template as follows:
<asyncapi-component [schema]="schema" [config]="config" [schemaUrl]="schemaUrl" [schemaFetchOptions]="schemaFetchOptions" [cssImportPath]="cssImportPath"> </asyncapi-component>

where:

  • schema, config, schemaUrl, schemaFetchOptions are Web Component's properties used in any valid combination, as described in Web Component specification,
  • cssImportPath is the path to styles. By default it is assets/default.min.css

NOTE: The easiest way to use the default css is to copy the content of the @asyncapi/react-component/styles/default.min.css file to a assets/default.min.css file.

Footer

© 2026 GitHub, Inc.