Crate virtual_dom_rs
source ·Expand description
virtual-dom-rs provides a virtual dom implementation as well as an html!
macro
that you can use to generate a virtual dom.
The virtual dom works on both the client and server. On the client we’ll render
to an HtmlElement
, and on the server we render to a String
.
Re-exports
pub extern crate web_sys;
pub use crate::html_macro::*;
Modules
The html_macro module exposes an
html!
macro that is used to generate VirtualNode
’s
that will eventually get rendered into DOM nodes on the client side, or String’s
if you’re on the server side.Exports structs and macros that you’ll almost always want access to in a virtual-dom
powered application
A collection of functions that are useful for unit testing your html! views.
Macros
A macro which returns a root VirtualNode given some HTML and Rust expressions.
Structs
We only support event handlers on wasm32 targets at this time. If you have a use case that
needs them elsewhere please open an issue!
The
CharacterData
class.A handle to both a closure in Rust as well as JS closure which will invoke
the Rust closure.
The
Comment
class.We need a custom implementation of fmt::Debug since FnMut() doesn’t
implement debug.
The
Document
class.The
DomTokenList
class.The
Element
class.The
Event
class.The
EventTarget
class.The
HtmlCollection
class.The
HtmlElement
class.The
HtmlInputElement
class.The
InputEvent
class.The
MessageEvent
class.The
MouseEvent
class.The
Node
class.The
NodeList
class.Our html! macro takes in tokens, builds
ParsedVirtualNode
’s from those tokens and then
finally converts that ParsedVirtualNode
into a VirtualNode
.A single-threaded reference-counting pointer. ‘Rc’ stands for ‘Reference
Counted’.
A mutable memory location with dynamically checked borrow rules
The
Text
class.The
UiEvent
class.When building your views you’ll typically use the
html!
macro to generate
VirtualNode
’s.The
Window
class.The
Worker
class.Enums
A
Patch
encodes an operation that modifies a real DOM element.Traits
A trait with common functionality for rendering front-end views.
Functions
Given two VirtualNode’s generate Patch’s that would turn the old virtual node’s
real DOM node equivalent into the new VirtualNode’s real DOM node equivalent.
Apply all of the patches to our old root node in order to create the new root node
that we desire.
This is usually used after diffing two virtual nodes.
Getter for the
Window
object