We can iterate through RIOT array of primitives or of Objects and create/update the html elements on the go. Using "each" construct we can achieve it.
Create array − Create an array of object.
this.cities = [ { city : "Shanghai" , country:"China" , done: true }, { city : "Seoul" , country:"South Korea" }, { city : "Moscow" , country:"Russia" } ];
Add each attribute − Now use the "each" attribute.
<ul> <li each = { cities } ></li> </ul>
Iterate array of objects − Iterate the array using object properties.
<input type = "checkbox" checked = { done }> { city } - { country }
Following is the complete example.
<custom7Tag> <style> ul { list-style-type: none; } </style> <ul> <li each = { cities } > <input type = "checkbox" checked = { done }> { city } - { country } </li> </ul> <script> this.cities = [ { city : "Shanghai" , country:"China" , done: true }, { city : "Seoul" , country:"South Korea" }, { city : "Moscow" , country:"Russia" } ]; </script> </custom7Tag>
<html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/riot/3.13.2/riot+compiler.min.js"></script> </head> <body> <custom7Tag></custom6Tag> <script src = "custom7Tag.tag" type = "riot/tag"></script> <script> riot.mount("custom7Tag"); </script> </body> </html>
This will produce following result −