Overview

Synopsis

A mighty tiny web components framework/library.

Features Support Polyfill Install

Example

    	// home.js
    	exprt default {
    		path: '/',
    		title: 'Home',
    		component: {
    			name: 'r-home',
    			template: \`
    				<h1 o-text="title"></h1>
    				<button o-on-click="greet">Greet</button>
    			\`,
    			model: {
    				greeting: 'Old Hello World'
    			},
    			methods: {
    				greet: function () {
    					console.log(this.model.greeting);
    				}
    			},
    			created: function () {
    				console.log(this.model.greeting);
    				this.model.greeting = 'New Hello World';
    			}
    		}
    	};
    
    	// index.js

    	imprt './elements/e-menu.js';
    	imprt Home from './home.js';

    	Oxe.setup({
    		loader: {
    			type: 'es' // required to rewrite import exports
    		},
    		router: {
    			routes: [
    				Home,
    				'error' // dynamically loads and resolves to /routes/error.js
    			]
    		}
    	}).catch(console.error);
    
        
        <html>
        <head>

            <base href="/">
            <script src="./poly.min.js" defer></script>
            <script src="./oxe.min.js" o-setup="./index.js, es" defer></script>

        </head>
        <body>

            <e-menu>
                <ul>
                    <li><a href="/home">Home</a></li>
                </ul>
            </e-menu>

            <o-router></o-router>

        </body>
        </html>