Skip to content

Instantly share code, notes, and snippets.

@rhysallister
Created March 18, 2017 04:03
Show Gist options
  • Save rhysallister/96f17c67fe6f58484077fec5a36573f0 to your computer and use it in GitHub Desktop.
Save rhysallister/96f17c67fe6f58484077fec5a36573f0 to your computer and use it in GitHub Desktop.
Number Saver: Riot.js Observable Example
<grozmite></grozmite>
<hr>
<groz-len></groz-len>
<script type="riot/tag">
<grozmite>
<button onclick={generate}>Generate a new number</button>
<h1 name="showhere" onclick="{clearMe}">{ arbitrary_number }</h1>
<button onclick={saveme}>Save this number</button>
this.generate = function() {
this.arbitrary_number = Math.floor(Math.random()*10000);
};
this.saveme = function() {
zzzz.trigger('saveme',this.arbitrary_number)
};
</grozmite>
</script>
<script type="riot/tag">
<groz-len>
<p name="">I like { zzzz.numbers_i_like.length } numbers. </p>
<button onclick={clearList}>Clear List</button>
<virtual each={zzzz.numbers_i_like}><div>{itis}</div></virtual>
this.clearList = function() {zzzz.numbers_i_like = []}
zzzz.on('saveme', function(indata){
zzzz.numbers_i_like.push({itis: indata});
this.update()
}.bind(this)
)
</groz-len>
</script>
var zzzz = riot.observable()
zzzz.numbers_i_like = []
riot.mount('grozmite');
riot.mount('groz-len');
<script src="https://cdnjs.cloudflare.com/ajax/libs/riot/3.3.2/riot+compiler.min.js"></script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment