0x3d.Site
is designed for aggregating information.
CanJS
CanJS is a collection of client-side JavaScript architectural libraries.
Web Components
CanJS’s StacheElement allows you to create Web Components with observable properties and live-bound templates.
class Counter extends StacheElement {
static view = `
Count: <span>{{ this.count }}</span>
<button on:click="this.increment()">+1</button>
`;
static props = {
count: 0
};
increment() {
this.count++;
}
}
customElements.define("my-counter", Counter);
Model layer
Components shouldn’t be concerned with how data is fetched, updated, or cached.
CanJS provides the right abstractions for your model code to be cleanly separated from your UI code. Learn more…
Promises in templates
CanJS’s stache templating language can directly read the state and values from Promises.
No need to write any extra code to determine whether a Promise is pending, resolved, or rejected. Learn more…
{{# if(this.promise.isPending) }}
Loading…
{{/ if }}
{{# if(this.promise.isRejected) }}
Error: {{ this.promise.reason }}
{{/ if }}
{{# if(this.promise.isResolved) }}
Result: {{ this.promise.value }}
{{/ if }}
Real-time list updating
After data is created, updated, or destroyed, CanJS automatically updates your lists for you.
Filtering and sorting are preserved, so you don’t have to manually update your lists or fetch the same data again. Learn more…
Getting Started
Ready to get started? See the Setting Up CanJS, API Docs and Guides pages.
Support / Contributing
Before you make an issue, please read our Contributing guide.
You can find the core team on Slack.
Release History
See Releases.
License
Programming Tips & Tricks
Code smarter, not harder—insider tips and tricks for developers.
#1
#2
#3
#4
#5
#6
#7
#8
#9
#10
Error Solutions
Turn frustration into progress—fix errors faster than ever.
#1
#2
#3
#4
#5
#6
#7
#8
#9
#10
Shortcuts
The art of speed—shortcuts to supercharge your workflow.
#1
#2
#3
#4
#5
#6
#7
#8
#9
#10
Made with ❤️
to provide resources in various ares.