Stratox
Template engine
Template engine
  • Stratox.js - Template engine
  • Installation
  • Template engine
    • Basic example
    • Show views
    • Create views
    • Updating views
  • Form builder
    • Form builder
    • Custom form template
  • Advanced features
    • Container
    • Template view functions
  • Issues
Powered by GitBook
On this page
  • Access container
  • Container usage
  • Stand alone
  • Method list
  1. Advanced features

Container

Stratox also comes with a specialized JavaScript container library designed for seamless communication between template views and the application. It allows for efficient data exchange.

Access container

A new container instance will be binded to each Stratox class instance. You can then access the container instance both inside a component and outside of it.

1. Inside component

export function custom({ services })
{
    if (services.has("fallback")) {
        services.get("fallback");
    }
    ...

2. Outside of component

const stratox = new Stratox("#ingress");
const serviceContainer = stratox.container();

Container usage

Bellow is some quick example on different ways you can use the container.

// Example 1
serviceContainer.set("someObject", { test: "Container 1" });

console.log(serviceContainer.get("someObject").test);
// Log response: Container 1

// Example 2
serviceContainer.set("passingAFunction", function(arg1, arg2) {
	alert(arg1+" "+arg2);
});

serviceContainer.get("passingAFunction", "Hello", "world!");
// Alert response: Hello world!

Stand alone

You can also use the container in other projects.

import { StratoxContainer } from 'stratox/StratoxContainer';
const container = new StratoxContainer();

Method list

Set a container or factory

set(key, value, overwrite);
  • key: Unique container key/string identifier

  • value: Mixed value of whatever you want to share, e.g. String, number, object, function.

  • overwrite: Attempting to set a container multiple times will trigger a warning unless manual consent is provided by setting "overwrite" to true.

Set factory only

setFactory(key, value, overwrite);
  • key: Unique factory key/string identifier

  • value: callable

  • overwrite: Attempting to set a container multiple times will trigger a warning unless manual consent is provided by setting "overwrite" to true.

Get a container or factory

get(key, ...args);
  • key: Unique container key/string identifier

  • args: pass arguments to possible factory/function

Check if container/factory exists

has(key);
  • key: Unique container key/string identifier

Check if is strict a "container".

isContainer(key);
  • key: Unique container key/string identifier

Check if is strict a "factory/function".

isFactory(key);
  • key: Unique factory key/string identifier

PreviousCustom form templateNextTemplate view functions

Last updated 4 months ago