Skip to content
🔺
@tuvix.js/angular
Angular Bindings
Angular 15+ bindings for Tuvix.js. NgModule, service injection, and RxJS-based event bus integration.

Installation

bash
npm install @tuvix.js/angular @angular/core @angular/platform-browser-dynamic

API

createAngularMicroApp(options)

Creates an Angular micro-application instance.

Parameters:

ParameterTypeRequiredDescription
namestringYesUnique name for the micro-app
moduleanyYesThe root Angular NgModule
platform() => anyYesPlatform factory (e.g., platformBrowserDynamic)
selectorstringNoRoot element selector (defaults to 'app-root')
compilerOptionsRecord<string, unknown>NoAngular compiler options
bootstrap() => void | Promise<void>NoCustom bootstrap function
ts
import { createAngularMicroApp } from '@tuvix.js/angular';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';

export const app = createAngularMicroApp({
  name: 'angular-app',
  module: AppModule,
  platform: platformBrowserDynamic,
});

Event Bus Integration

Use the global event bus for cross-app communication:

ts
import { getGlobalBus } from '@tuvix.js/event-bus';

// In a component constructor or ngOnInit
const bus = getGlobalBus();
const unsub = bus.on('theme:changed', ({ theme }) => {
  this.currentTheme = theme;
});

// In ngOnDestroy
unsub();

See the Angular Guide for the full example.