2 个版本
0.1.0 | 2023 年 1 月 6 日 |
---|---|
0.1.0-alpha | 2022 年 12 月 31 日 |
162 在 #dom
在 3 个 crate 中使用 (2 个直接使用)
23KB
439 行
mogwai-macros
提供过程宏 builder!
和 view!
,允许使用 RSX 声明 mogwai 视图。
示例 - 这个 RSX
view!(
<footer class="info">
<p>"Double click to edit a todo"</p>
<p>
"Written by "
<a href="https://github.com/schell">"Schell Scivally"</a>
</p>
<p>
"Part of "
<a href="http://todomvc.com">"TodoMVC"</a>
</p>
</footer>
).run()
将大致生成以下 Rust 代码
(mogwai::gizmo::dom::View::element("footer") as View<web_sys::HtmlElement>)
.attribute("class", "info")
.with(
(mogwai::gizmo::dom::View::element("p") as View<web_sys::HtmlElement>)
.with("Double click to edit a todo"),
)
.with(
(mogwai::gizmo::dom::View::element("p") as View<web_sys::HtmlElement>)
.with("Written by ")
.with(
(mogwai::gizmo::dom::View::element("a")
as View<web_sys::HtmlElement>)
.attribute("href", "https://github.com/schell")
.with("Schell Scivally"),
),
)
.with(
(mogwai::gizmo::dom::View::element("p") as View<web_sys::HtmlElement>)
.with("Part of ")
.with(
(mogwai::gizmo::dom::View::element("a")
as View<web_sys::HtmlElement>)
.attribute("href", "http://todomvc.com")
.with("TodoMVC"),
),
)
.run()
依赖项
~1.5MB
~36K SLoC