UNPKG

can

Version:

MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy.

40 lines (38 loc) 929 B
<div id="out"></div> <my-demo></my-demo> <script src="../../node_modules/steal/steal.js" dev-bundle main="@empty"> import { StacheElement, DeepObservable, stacheConverters } from "can"; class MyDemo extends StacheElement { static view = ` {{# for(item of this.items) }} <label> <input type='checkbox' checked:bind='boolean-to-inList(item, this.person.owns)' /> {{ upper(item) }} </label> {{/ for }} <p>You own: {{ this.ownership }}</p> `; static props = { person: { type: DeepObservable, get default() { return { owns: ["bike"] }; } }, items: { get default() { return ["bike", "car", "sled"]; } }, get ownership(){ const list = this.person.owns; return list.length ? list.join(" and ") : "nothing"; }, upper: function(item) { const first = item[0].toUpperCase(); return first + item.substr(1); } }; } customElements.define('my-demo', MyDemo); </script>