1.0.0 • Published 3 years ago

@jodolrui/composer v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

Composer

Installation:

npm install “@jodolrui/composer”

Example of use:

// parts/value.js
import { ref } from "vue";
import { expose } from "@jodolrui/composer";

export default {
  setup() {
    let counter = ref(0);
    expose({ counter }); // returns counter variable
  },
};
// parts/down.js
import { expose, exposed } from "@jodolrui/composer";

export default {
  setup() {
    let { counter } = exposed(); // injects counter variable
    function goDown() {
      counter.value--; // substracts
    }
    expose({ goDown }); // returns goDown function
  },
};
// parts/up.js
import { expose, exposed } from "@jodolrui/composer";

export default {
  setup() {
    let { counter } = exposed(); // injects counter variable
    function goUp() {
      counter.value++; // adds
    }
    expose({ goUp }); // returns goUp function
  },
};
// template.vue
<style scoped src="./styles.css"></style>

<script>
import { compose } from "@jodolrui/composer";
import value from "./parts/value";
import up from "./parts/up";
import down from "./parts/down";
export default compose("Counter", { parts: [value, up, down] }); // component is composed from the parts
</script>

<template>
  <div>
    <h1>{{ counter }}</h1>
    <button @click="goUp">Up</button>
    <button @click="goDown">Down</button>
  </div>
</template>
1.0.1

3 years ago

1.0.0

3 years ago