VANILLA
// * universal-state
// * ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ์์์ ์ฌ์ฉ๋ฐฉ๋ฒ
<script src="https://cdnjs.cloudflare.com/ajax/libs/universal-state/0.0.1/us-vanilla.min.js"></script>
// * ํ์
์คํฌ๋ฆฝํธ ์ํ ๊ฐ ๋ก๋
us.load(`
class Counter {
count: number = 0
handle: any = null
up = () => this.count += 1
down = () => this.count -= 1
start = () => {
this.handle = setInterval(()=> {
this.count++
}, 1000)
}
stop = () => {
if(this.handle) clearInterval(this.handle)
}
double() {
return this.count*2
}
}
`)
// * ์ ์ฅ์์ ์ค์๋ง์ ๋ฑ๋กํฉ๋๋ค.
var Counter = us.store.Counter
// * ์นด์ดํ
์ ์์ํฉ๋๋ค.
Counter.start()
// * ๋ณ๊ฒฝ์ ์ ๊ตฌ๋
ํฉ๋๋ค.
us.subscribe(
// * ๊ตฌ๋
ํ ๋์ ์ง์
[Counter.count],
// * ๋ณ๊ฒฝ์ ์ด ๋ฐ์ํ ๋
function callback () {
$('#count').text(Counter.count)
}
)