Skip to content
This repository was archived by the owner on Jun 27, 2022. It is now read-only.
/ illya Public archive

illya.js is simple MVVM framework for TypeScript based on Vue.js. イリヤたんprpr.

License

Notifications You must be signed in to change notification settings

pine/illya

Repository files navigation

DEPRECATED

⚠️ This package is no longer maintained.


illya.js

Build Status

This project is pre-alpha phase. illya.js is based on Vue.js.

Examples

Basic example

HTML

<p>
    <input type="text" size="20" v-model="firstName" />
    <input type="text" size="20" v-model="lastName" />
</p>
<p>Your name: {{ name }}</p>

<button type="button" v-on="click: hello">Hello</button>

TypeScript

class App extends Illya {
    // Data binding
    public firstName = 'firstName';
    public lastName = 'lastName';
    
    // Computed propery
    get name() {
        return this.firstName + ' ' + this.lastName;
    }
    
    // Methods
    hello() {
        alert('Hello ' + this.name);
    }
    
    // Lifecycle
    ready() {
        console.log('ready');
    }
}

var app = new App();
app.track('body');

Example of multi components

HTML

<div v-component="foo">
    {{ name }}
</div>

<div v-component="bar">
    <button type="button" v-on="click: clicked">Button</button>
</div>

TypeScript

class FooVM extends Illya {
    firstName = 'firstName';
    lastName = 'lastName';
    
    get name() {
        return this.firstName + ' ' + this.lastName;
    }
}

class BarVM extends Illya {
    clicked() {
        console.log('clicked');
    }
}

class App extends Illya {
    constructor() {
        super({ components: { foo: FooVM, bar: BarVM }});
    }
}

var app = new App();
app.track('body');

Usage

For Browserify, webpack users

$ npm install illya
import Illya = require('illya');

class App extends Illya {
    ...
}

About

illya.js is simple MVVM framework for TypeScript based on Vue.js. イリヤたんprpr.

Resources

License

Stars

Watchers

Forks