1个不稳定版本
0.1.0 | 2022年11月18日 |
---|
#614 在 WebAssembly
135KB
1.5K SLoC
用Rust编写的即时模式Web前端库。
它构建VDOM,以减少不必要的DOM操作,但因为它在每次任何更改执行时都会运行,所以它允许一个简单的编程模型,没有消息传递/回调/信号,就像EGUI。
渲染函数用于创建初始网页,然后为每个事件调用两次
- 一次用于计算事件的影响
- 再次修改状态(变量)以渲染发生的变化
一个简单的程序来说明用法
(在 examples/demo
目录中)
use edom;
use wasm_bindgen::prelude::wasm_bindgen;
#[wasm_bindgen(start)]
pub fn demo() {
let mut name = "Arthur".to_string();
let mut age:f64 = 42.0;
edom::wasm::render(move |mut root| {
root.h1().text("My edom application");
root.div(|div| {
div.text("Your name: ");
div.text_input(&mut name);
});
root.div(|div| {
div.range_input(&mut age, 0.0, 120.0);
div.number_input(&mut age).min(0.0).max(120.0);
div.text("age");
});
if root.button("Click each year").clicked() {
age+=1.0;
}
root.br();
root.text(format!("Hello '{}', age {}", name, age).as_str());
});
}
对于更复杂的示例,请查看 TODOMVC
依赖项
~10MB
~184K SLoC