Skip to content

Component

Official

A component that can be loaded and unloaded.

Import:

import { Component } from 'obsidian';

Signature:

export class Component

Constructor

new Component()

Constructor.

To extract the constructor type, use ExtractConstructor<Component>.

Properties

Property Type Description
_children Component[] Child Components attached to current component, will be unloaded on unloading parent component.
_events EventRef[] Events that are attached to the current component, will be detached on unloading parent component.
_loaded boolean Whether the component and its children are loaded.

Methods

Method Returns Description
addChild(component) T Adds a child component, loading it if this component is loaded.
load() void Load this component and its children.
onload() void Override this to load your component.
onunload() void Override this to unload your component
register(cb) void Registers a callback to be called when unloading.
registerDomEvent(el, type, callback, options?) void Registers a DOM event to be detached when unloading.
registerDomEvent(el, type, callback, options?) void Registers a DOM event to be detached when unloading
registerDomEvent(el, type, callback, options?) void Registers a DOM event to be detached when unloading
registerEvent(eventRef) void Registers an event to be detached when unloading.
registerInterval(id) number Registers an interval (from setInterval) to be cancelled when unloading. Use window.setInterval instead of setInterval to avoid TypeScript confusing between NodeJS vs Browser API
registerScopeEvent(keymapEventHandler) void Register a scope keymap event handler to be removed on unload.
removeChild(component) T Removes a child component, unloading it.
unload() void Override this to unload your component.

Links to this page: