Skip to content

unlocomqx/svelte-reactive-class

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Svelte Reactive Class

A typescript class decorator for creating svelte reactive classes.

How to use

// Create your class and decorate it
import { reactive } from "./reactive";

@reactive()
export class Clock {

  public time = (new Date()).getSeconds();

  tick () {
    this.time = (new Date()).getSeconds();
  }
}
<!-- Use the class inside your svelte component -->
<script lang="ts">
  import { onMount } from "svelte";
  import { Clock } from "./Clock";

  const clock = new Clock();

  onMount(() => {
    let interval = setInterval(() => {
      clock.tick();
    }, 1000);
    return () => clearInterval(interval);
  });
</script>

<p>
  The current time is {$clock.time}
</p>

The reactive decorator converts your class to a svelte store under the hood, which allows you to use the svelte dollar syntax to access the properties.

About

How to turn a class into a svelte store

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published