pub struct Template<Param, D: InstantiableDom = DefaultDom>(/* private fields */);
Expand description
A template DOM that can be used to instantiate other DOM types by cloning.
Cloning a template can be faster than creating each DOM node individually. It’s likely to get a maximum 10-20% increase, so should only be used in hot code paths.
§Example
Type annotations have been provided for clarity, but the types can be inferred.
let elem: P<Template<String, Dry>> = p().on_instantiate(|p, message| p.text(message));
let template: P<Template<String, Dry>, Const> = elem.freeze();
let hello = template.instantiate(&"Hello, world!".to_string());
let goodbye = template.instantiate(&"Goodbye!".to_string());
assert_eq!(hello.freeze().to_string(), "<p>Hello, world!</p>");
assert_eq!(goodbye.freeze().to_string(), "<p>Goodbye!</p>");
Trait Implementations§
impl<Param: 'static, D: InstantiableDom> Dom for Template<Param, D>
Auto Trait Implementations§
impl<Param, D> Freeze for Template<Param, D>
impl<Param, D> RefUnwindSafe for Template<Param, D>where
Param: RefUnwindSafe,
D: RefUnwindSafe,
impl<Param, D> Send for Template<Param, D>
impl<Param, D> Sync for Template<Param, D>
impl<Param, D> Unpin for Template<Param, D>
impl<Param, D> UnwindSafe for Template<Param, D>where
Param: UnwindSafe,
D: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more