1. Home
  2. /
  3. Mithril-js
  4. /
  5. Mithril Full Featured Counter

Mithril Full Featured Counter - Mithril-js Typing CST Test

Loading…

Mithril Full Featured Counter — Mithril-js Code

Combines step increment, max limit, auto-reset, history, auto-increment, and theme toggle.

var FullCounter = {
	count: 0,
	history: [],
	isDark: false,
	step: 2,
	max: 10,
	view: function() {
		return m('div', { class: this.isDark ? 'dark-theme' : 'light-theme' }, [
		m('h2', 'Counter: ' + this.count),
		m('div', 'History: ' + this.history.join(', ')),
		m('button', { onclick: () => { let n=this.count+this.step; if(n>this.max)n=0; this.count=n; this.history.push('Increment'); } }, '+'),
		m('button', { onclick: () => { this.count-=this.step; this.history.push('Decrement'); } }, '-'),
		m('button', { onclick: () => { this.count=0; this.history.push('Reset'); } }, 'Reset'),
		m('button', { onclick: () => { this.isDark=!this.isDark; } }, 'Toggle Theme')
		]);
	},
	oncreate: function() {
		setInterval(() => { let n=this.count+this.step; if(n>this.max)n=0; this.count=n; this.history.push('Auto Increment'); m.redraw(); }, 1000);
	}
};
m.mount(document.body, FullCounter);

Mithril-js Language Guide

Mithril.js is a modern, client-side JavaScript framework for building single-page applications. It is small, fast, and provides a virtual DOM, routing, and XHR utilities, allowing developers to create high-performance, modular web applications.

Primary Use Cases

  • ▸Single-page applications
  • ▸Modular web components
  • ▸High-performance dashboards
  • ▸Small-to-medium web apps
  • ▸Rapid prototyping with minimal boilerplate

Notable Features

  • ▸Virtual DOM for efficient rendering
  • ▸Component-based architecture
  • ▸Built-in routing
  • ▸XHR utility for AJAX requests
  • ▸Lightweight (~8 KB gzipped)

Origin & Creator

Created by Leo Horie and first released in 2011.

Industrial Note

Mithril is ideal for performance-critical SPAs, modular component-based apps, and projects where minimal dependencies and high efficiency are essential.

More Mithril-js Typing Exercises

Mithril Counter ComponentMithril Counter with Step IncrementMithril Counter with Max LimitMithril Counter with Auto-ResetMithril Counter with HistoryMithril Counter with Dark Mode OnlyMithril Counter with Auto-IncrementMithril Counter with Conditional Theme

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher