Skip to content
forked from Javey/intact-vue

A compatibility layer for running intact component in vue

License

Notifications You must be signed in to change notification settings

ksc-fe/intact-vue

This branch is 1 commit ahead of, 77 commits behind Javey/intact-vue:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e0c2933 · Dec 21, 2018
Dec 21, 2018
Dec 21, 2018
Nov 20, 2018
Dec 12, 2017
Dec 12, 2017
Apr 25, 2018
Dec 12, 2017
Oct 29, 2018
Nov 13, 2018
Dec 12, 2017
Dec 5, 2018
Dec 5, 2018
Dec 12, 2017
Aug 7, 2018

Repository files navigation

intact-vue

A compatibility layer for running Intact component in Vue.

Usage

import Vue from 'vue';
import Intact from 'intact-vue';

class IntactComponent extends Intact {
    get template() {
        return `<button ev-click={self.onClick.bind(self)}>
            click {self.get('value')}
        </button>`;
    }

    onClick() {
        this.set('value', this.get('value') + 1);
        this.trigger('click');
    }
}

const container = document.createElement('div');
document.body.appendChild(container);
const vue = new Vue({
    el: container,
    data: {
        count: 0,
    },
    template: `<div>
        <IntactComponent @click="onClick" v-model="count"/>
        <div>count: {{ count }}</div>
    </div>`,
    methods: {
        onClick() {
            console.log(this.count);
        }
    },
    components: {IntactComponent}
});

webpack

You can use alias config of webpack to replace intact module.

resolve: {
    alias: {
        'intact$': 'intact-vue'
    }
}

Incompatible

  1. .native modifier is not supported. For example:

    // native modifier
    <IntactComponent @click.native="onClick" />
  2. Intact does not support scoped. You should avoid using them. Use className to limit style instead of.

  3. Multiple values style is not supported.

About

A compatibility layer for running intact component in vue

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%