Skip to content

vue-mvvm / core / ViewModel

ViewModel ​

The ViewModel is the lowest possible abstraction class in MVVM. It declares basic Vue lifecycle hooks

Extended by ​

Constructors ​

Constructor ​

ts
new ViewModel(): ViewModel;

Returns ​

ViewModel

Properties ​

ctx ​

ts
protected readonly ctx: ReadableGlobalContext;

Represents a readonly global context that provides features like DI

Methods ​

activated() ​

ts
protected activated(): void | Promise<void>;

Hook for Vue's onActivated

Returns ​

void | Promise<void>


beforeMount() ​

ts
protected beforeMount(): void | Promise<void>;

Hook for Vue's onBeforeMount

Returns ​

void | Promise<void>


beforeUnmount() ​

ts
protected beforeUnmount(): void | Promise<void>;

Hook for Vue's onBeforeUnmount

Returns ​

void | Promise<void>


beforeUpdate() ​

ts
protected beforeUpdate(): void | Promise<void>;

Hook for Vue's onBeforeUpdate

Returns ​

void | Promise<void>


computed() ​

Call Signature ​

ts
protected computed<T>(getter): T;
Type Parameters ​
T ​

T

Parameters ​
getter ​

ComputedGetter<T>

Returns ​

T

Call Signature ​

ts
protected computed<T>(options): T;
Type Parameters ​
T ​

T

Parameters ​
options ​
get ​

ComputedGetter<T>

set ​

ComputedSetter<T>

Returns ​

T


deactivated() ​

ts
protected deactivated(): void | Promise<void>;

Hook for Vue's onDeactivated

Returns ​

void | Promise<void>


getUserControl() ​

ts
protected getUserControl<T>(ref): T | null;

Collect UserControl that are bound to the View using a Vue.js template ref

Type Parameters ​

T ​

T extends UserControl | UserControl[]

Parameters ​

ref ​

string

The Vue.js Template ref

Returns ​

T | null

UserControl of the bounded UI Element


mounted() ​

ts
protected mounted(): void | Promise<void>;

Hook for Vue's onMounted

Returns ​

void | Promise<void>


readonly() ​

ts
protected readonly<T>(value): T;

Type Parameters ​

T ​

T

Parameters ​

value ​

T

Returns ​

T


ref() ​

ts
protected ref<T>(initial): T;

Type Parameters ​

T ​

T

Parameters ​

initial ​

T

Returns ​

T


runAction() ​

ts
protected runAction<T>(action): Promise<ActionResult<T>>;

Executes an MVVM Action and returns its result as a promise.

Notes

  • The action body may be synchronous or asynchronous; both are supported.
  • If the action tries to complete/fail more than once, a Vue warning is emitted and further attempts are ignored.

Type Parameters ​

T ​

T

Parameters ​

action ​

Action<T>

The action object implementing Action interface.

Returns ​

Promise<ActionResult<T>>

A promise that resolves with an ActionResult carrying either the data on success or an error on failure.


unmounted() ​

ts
protected unmounted(): void | Promise<void>;

Hook for Vue's onUnmounted

Returns ​

void | Promise<void>


updated() ​

ts
protected updated(): void | Promise<void>;

Hook for Vue's onUpdated

Returns ​

void | Promise<void>


watch() ​

ts
protected watch(
   source, 
   cb, 
   options?): WatchHandle;

Sets up a watch on a reactive source and registers the watch handle. Allows tracking and managing the lifecycle of the watch handle within the class.

Additionally, watchers are automatically disposed after the component is unmounted and all lifecycle hooks have finished executing.

Parameters ​

source ​

WatchSource

The reactive source to watch.

cb ​

WatchCallback

The callback function that gets triggered when the source changes.

options? ​

WatchOptions<boolean>

Optional configuration object for the watcher (e.g., deep, immediate).

Returns ​

WatchHandle

A custom watch handle with methods to stop, pause, and resume the watcher.