pub struct ReadSignal<T, S = SyncStorage> { /* private fields */ }Expand description
An arena-allocated getter for a reactive signal.
A signal is a piece of data that may change over time, and notifies other code when it has changed.
This is an arena-allocated signal, which is Copy and is disposed when its reactive
Owner cleans up. For a reference-counted signal that lives
as long as a reference to it is alive, see ArcReadSignal.
§Core Trait Implementations
.get()clones the current value of the signal. If you call it within an effect, it will cause that effect to subscribe to the signal, and to re-run whenever the value of the signal changes..get_untracked()clones the value of the signal without reactively tracking it.
.read()returns a guard that allows accessing the value of the signal by reference. If you call it within an effect, it will cause that effect to subscribe to the signal, and to re-run whenever the value of the signal changes..read_untracked()gives access to the current value of the signal without reactively tracking it.
.with()allows you to reactively access the signal’s value without cloning by applying a callback function..with_untracked()allows you to access the signal’s value by applying a callback function without reactively tracking it.
.to_stream()converts the signal to anasyncstream of values.::from_stream()converts anasyncstream of values into a signal containing the latest value.
§Examples
let (count, set_count) = signal(0);
// calling .get() clones and returns the value
assert_eq!(count.get(), 0);
// calling .read() accesses the value by reference
assert_eq!(count.read(), 0);Trait Implementations§
Source§impl<T, S> Clone for ReadSignal<T, S>
impl<T, S> Clone for ReadSignal<T, S>
Source§fn clone(&self) -> ReadSignal<T, S>
fn clone(&self) -> ReadSignal<T, S>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<T, S> Copy for ReadSignal<T, S>
Source§impl<T, S> Debug for ReadSignal<T, S>where
S: Debug,
impl<T, S> Debug for ReadSignal<T, S>where
S: Debug,
Source§impl<T, S> DefinedAt for ReadSignal<T, S>
impl<T, S> DefinedAt for ReadSignal<T, S>
Source§fn defined_at(&self) -> Option<&'static Location<'static>>
fn defined_at(&self) -> Option<&'static Location<'static>>
Returns the location at which the signal was defined. This is usually simply
None in
release mode.Source§impl<T, S> Dispose for ReadSignal<T, S>
impl<T, S> Dispose for ReadSignal<T, S>
impl<T, S> Eq for ReadSignal<T, S>
Source§impl<T, S> Fn() for ReadSignal<T, S>where
ReadSignal<T, S>: Get,
S: Storage<T> + Storage<Option<T>> + Storage<SignalTypes<Option<T>, S>>,
Available on rustc_nightly and crate feature nightly only.
impl<T, S> Fn() for ReadSignal<T, S>where
ReadSignal<T, S>: Get,
S: Storage<T> + Storage<Option<T>> + Storage<SignalTypes<Option<T>, S>>,
Available on
rustc_nightly and crate feature nightly only.Source§impl<T, S> FnMut() for ReadSignal<T, S>where
ReadSignal<T, S>: Get,
S: Storage<T> + Storage<Option<T>> + Storage<SignalTypes<Option<T>, S>>,
Available on rustc_nightly and crate feature nightly only.
impl<T, S> FnMut() for ReadSignal<T, S>where
ReadSignal<T, S>: Get,
S: Storage<T> + Storage<Option<T>> + Storage<SignalTypes<Option<T>, S>>,
Available on
rustc_nightly and crate feature nightly only.Source§impl<T, S> FnOnce() for ReadSignal<T, S>where
ReadSignal<T, S>: Get,
S: Storage<T> + Storage<Option<T>> + Storage<SignalTypes<Option<T>, S>>,
Available on rustc_nightly and crate feature nightly only.
impl<T, S> FnOnce() for ReadSignal<T, S>where
ReadSignal<T, S>: Get,
S: Storage<T> + Storage<Option<T>> + Storage<SignalTypes<Option<T>, S>>,
Available on
rustc_nightly and crate feature nightly only.Source§impl<T> From<ArcReadSignal<T>> for ReadSignal<T>
impl<T> From<ArcReadSignal<T>> for ReadSignal<T>
Source§fn from(value: ArcReadSignal<T>) -> ReadSignal<T>
fn from(value: ArcReadSignal<T>) -> ReadSignal<T>
Converts to this type from the input type.
Source§impl<T> From<ReadSignal<Option<T>, LocalStorage>> for MaybeProp<T, LocalStorage>
impl<T> From<ReadSignal<Option<T>, LocalStorage>> for MaybeProp<T, LocalStorage>
Source§fn from(
value: ReadSignal<Option<T>, LocalStorage>,
) -> MaybeProp<T, LocalStorage>
fn from( value: ReadSignal<Option<T>, LocalStorage>, ) -> MaybeProp<T, LocalStorage>
Converts to this type from the input type.
Source§impl<T> From<ReadSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
impl<T> From<ReadSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
Source§fn from(value: ReadSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
fn from(value: ReadSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
Converts to this type from the input type.
Source§impl<T> From<ReadSignal<T, LocalStorage>> for MaybeSignal<T, LocalStorage>
impl<T> From<ReadSignal<T, LocalStorage>> for MaybeSignal<T, LocalStorage>
Source§fn from(value: ReadSignal<T, LocalStorage>) -> MaybeSignal<T, LocalStorage>
fn from(value: ReadSignal<T, LocalStorage>) -> MaybeSignal<T, LocalStorage>
Converts to this type from the input type.
Source§impl<T> From<ReadSignal<T, LocalStorage>> for MaybeProp<T, LocalStorage>
impl<T> From<ReadSignal<T, LocalStorage>> for MaybeProp<T, LocalStorage>
Source§fn from(value: ReadSignal<T, LocalStorage>) -> MaybeProp<T, LocalStorage>
fn from(value: ReadSignal<T, LocalStorage>) -> MaybeProp<T, LocalStorage>
Converts to this type from the input type.
Source§impl<T, S> From<ReadSignal<T, S>> for ArcReadSignal<T>where
T: 'static,
S: Storage<ArcReadSignal<T>>,
impl<T, S> From<ReadSignal<T, S>> for ArcReadSignal<T>where
T: 'static,
S: Storage<ArcReadSignal<T>>,
Source§fn from(value: ReadSignal<T, S>) -> ArcReadSignal<T>
fn from(value: ReadSignal<T, S>) -> ArcReadSignal<T>
Converts to this type from the input type.
Source§impl<T, S> From<ReadSignal<T, S>> for ArcSignal<T, S>
impl<T, S> From<ReadSignal<T, S>> for ArcSignal<T, S>
Source§fn from(value: ReadSignal<T, S>) -> ArcSignal<T, S>
fn from(value: ReadSignal<T, S>) -> ArcSignal<T, S>
Converts to this type from the input type.
Source§impl<T> From<ReadSignal<T>> for Signal<T>
impl<T> From<ReadSignal<T>> for Signal<T>
Source§fn from(value: ReadSignal<T>) -> Signal<T>
fn from(value: ReadSignal<T>) -> Signal<T>
Converts to this type from the input type.
Source§impl<T> From<ReadSignal<T>> for MaybeSignal<T>
impl<T> From<ReadSignal<T>> for MaybeSignal<T>
Source§fn from(value: ReadSignal<T>) -> MaybeSignal<T>
fn from(value: ReadSignal<T>) -> MaybeSignal<T>
Converts to this type from the input type.
Source§impl<T> From<ReadSignal<T>> for MaybeProp<T>
impl<T> From<ReadSignal<T>> for MaybeProp<T>
Source§fn from(value: ReadSignal<T>) -> MaybeProp<T>
fn from(value: ReadSignal<T>) -> MaybeProp<T>
Converts to this type from the input type.
Source§impl<T> FromLocal<ArcReadSignal<T>> for ReadSignal<T, LocalStorage>where
T: 'static,
impl<T> FromLocal<ArcReadSignal<T>> for ReadSignal<T, LocalStorage>where
T: 'static,
Source§fn from_local(value: ArcReadSignal<T>) -> ReadSignal<T, LocalStorage>
fn from_local(value: ArcReadSignal<T>) -> ReadSignal<T, LocalStorage>
Converts between the types.
Source§impl<T, S> Hash for ReadSignal<T, S>
impl<T, S> Hash for ReadSignal<T, S>
Source§impl<T, S> IntoInner for ReadSignal<T, S>where
S: Storage<ArcReadSignal<T>>,
impl<T, S> IntoInner for ReadSignal<T, S>where
S: Storage<ArcReadSignal<T>>,
Source§impl<T, S> IsDisposed for ReadSignal<T, S>
impl<T, S> IsDisposed for ReadSignal<T, S>
Source§fn is_disposed(&self) -> bool
fn is_disposed(&self) -> bool
If
true, the signal cannot be accessed without a panic.Source§impl<T, S> PartialEq for ReadSignal<T, S>
impl<T, S> PartialEq for ReadSignal<T, S>
Source§fn eq(&self, other: &ReadSignal<T, S>) -> bool
fn eq(&self, other: &ReadSignal<T, S>) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<T, S> ReadUntracked for ReadSignal<T, S>where
T: 'static,
S: Storage<ArcReadSignal<T>>,
impl<T, S> ReadUntracked for ReadSignal<T, S>where
T: 'static,
S: Storage<ArcReadSignal<T>>,
Source§type Value = ReadGuard<T, Plain<T>>
type Value = ReadGuard<T, Plain<T>>
The guard type that will be returned, which can be dereferenced to the value.
Source§fn try_read_untracked(
&self,
) -> Option<<ReadSignal<T, S> as ReadUntracked>::Value>
fn try_read_untracked( &self, ) -> Option<<ReadSignal<T, S> as ReadUntracked>::Value>
Returns the guard, or
None if the signal has already been disposed.Source§fn read_untracked(&self) -> Self::Value
fn read_untracked(&self) -> Self::Value
Returns the guard. Read more
Source§fn custom_try_read(&self) -> Option<Option<Self::Value>>
fn custom_try_read(&self) -> Option<Option<Self::Value>>
This is a backdoor to allow overriding the
Read::try_read implementation despite it being auto implemented. Read moreSource§impl<T, St> Serialize for ReadSignal<T, St>
impl<T, St> Serialize for ReadSignal<T, St>
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl<T, S> Freeze for ReadSignal<T, S>
impl<T, S> RefUnwindSafe for ReadSignal<T, S>
impl<T, S> Send for ReadSignal<T, S>
impl<T, S> Sync for ReadSignal<T, S>
impl<T, S> Unpin for ReadSignal<T, S>
impl<T, S> UnsafeUnpin for ReadSignal<T, S>
impl<T, S> UnwindSafe for ReadSignal<T, S>
Blanket Implementations§
Source§impl<F, V> AddAnyAttr for Fwhere
F: ReactiveFunction<Output = V>,
V: RenderHtml + 'static,
impl<F, V> AddAnyAttr for Fwhere
F: ReactiveFunction<Output = V>,
V: RenderHtml + 'static,
Source§type Output<SomeNewAttr: Attribute> = Box<dyn FnMut() -> <V as AddAnyAttr>::Output<<SomeNewAttr as Attribute>::CloneableOwned> + Send>
type Output<SomeNewAttr: Attribute> = Box<dyn FnMut() -> <V as AddAnyAttr>::Output<<SomeNewAttr as Attribute>::CloneableOwned> + Send>
The new type once the attribute has been added.
Source§fn add_any_attr<NewAttr>(
self,
attr: NewAttr,
) -> <F as AddAnyAttr>::Output<NewAttr>
fn add_any_attr<NewAttr>( self, attr: NewAttr, ) -> <F as AddAnyAttr>::Output<NewAttr>
Adds an attribute to the view.
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<F, V> AttributeValue for Fwhere
F: ReactiveFunction<Output = V>,
V: AttributeValue + 'static,
<V as AttributeValue>::State: 'static,
impl<F, V> AttributeValue for Fwhere
F: ReactiveFunction<Output = V>,
V: AttributeValue + 'static,
<V as AttributeValue>::State: 'static,
Source§type AsyncOutput = <V as AttributeValue>::AsyncOutput
type AsyncOutput = <V as AttributeValue>::AsyncOutput
The type once all async data have loaded.
Source§type State = RenderEffect<<V as AttributeValue>::State>
type State = RenderEffect<<V as AttributeValue>::State>
The state that should be retained between building and rebuilding.
Source§type Cloneable = Arc<Mutex<dyn FnMut() -> V + Send>>
type Cloneable = Arc<Mutex<dyn FnMut() -> V + Send>>
A version of the value that can be cloned. This can be the same type, or a
reference-counted type. Generally speaking, this does not need to refer to the same data,
but should behave in the same way. So for example, making an event handler cloneable should
probably make it reference-counted (so that a
FnMut() continues mutating the same
closure), but making a String cloneable does not necessarily need to make it an
Arc<str>, as two different clones of a String will still have the same value.Source§type CloneableOwned = Arc<Mutex<dyn FnMut() -> V + Send>>
type CloneableOwned = Arc<Mutex<dyn FnMut() -> V + Send>>
A cloneable type that is also
'static. This is used for spreading across types when the
spreadable attribute needs to be owned. In some cases (&'a str to Arc<str>, etc.) the owned
cloneable type has worse performance than the cloneable type, so they are separate.Source§fn to_template(_key: &str, _buf: &mut String)
fn to_template(_key: &str, _buf: &mut String)
Renders the attribute value to HTML for a
<template>.Source§fn hydrate<const FROM_SERVER: bool>(
self,
key: &str,
el: &Element,
) -> <F as AttributeValue>::State
fn hydrate<const FROM_SERVER: bool>( self, key: &str, el: &Element, ) -> <F as AttributeValue>::State
Adds interactivity as necessary, given DOM nodes that were created from HTML that has
either been rendered on the server, or cloned for a
<template>.Source§fn build(self, el: &Element, key: &str) -> <F as AttributeValue>::State
fn build(self, el: &Element, key: &str) -> <F as AttributeValue>::State
Adds this attribute to the element during client-side rendering.
Source§fn rebuild(self, key: &str, state: &mut <F as AttributeValue>::State)
fn rebuild(self, key: &str, state: &mut <F as AttributeValue>::State)
Applies a new value for the attribute.
Source§fn into_cloneable(self) -> <F as AttributeValue>::Cloneable
fn into_cloneable(self) -> <F as AttributeValue>::Cloneable
Converts this attribute into an equivalent that can be cloned.
Source§fn into_cloneable_owned(self) -> <F as AttributeValue>::CloneableOwned
fn into_cloneable_owned(self) -> <F as AttributeValue>::CloneableOwned
Converts this attributes into an equivalent that can be cloned and is
'static.Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
“Runs” the attribute without other side effects. For primitive types, this is a no-op. For
reactive types, this can be used to gather data about reactivity or about asynchronous data
that needs to be loaded.
Source§async fn resolve(self) -> <F as AttributeValue>::AsyncOutput
async fn resolve(self) -> <F as AttributeValue>::AsyncOutput
“Resolves” this into a form that is not waiting for any asynchronous data.
Source§impl<V, Key, Sig, T> BindAttribute<Key, Sig, T> for Vwhere
V: AddAnyAttr,
Key: AttributeKey,
Sig: IntoSplitSignal<Value = T>,
T: FromEventTarget + AttributeValue + PartialEq + Sync + 'static,
Signal<BoolOrT<T>>: IntoProperty,
<Sig as IntoSplitSignal>::Read: Get<Value = T> + Send + Sync + Clone + 'static,
<Sig as IntoSplitSignal>::Write: Send + Clone + 'static,
Element: GetValue<T>,
impl<V, Key, Sig, T> BindAttribute<Key, Sig, T> for Vwhere
V: AddAnyAttr,
Key: AttributeKey,
Sig: IntoSplitSignal<Value = T>,
T: FromEventTarget + AttributeValue + PartialEq + Sync + 'static,
Signal<BoolOrT<T>>: IntoProperty,
<Sig as IntoSplitSignal>::Read: Get<Value = T> + Send + Sync + Clone + 'static,
<Sig as IntoSplitSignal>::Write: Send + Clone + 'static,
Element: GetValue<T>,
Source§type Output = <V as AddAnyAttr>::Output<Bind<Key, T, <Sig as IntoSplitSignal>::Read, <Sig as IntoSplitSignal>::Write>>
type Output = <V as AddAnyAttr>::Output<Bind<Key, T, <Sig as IntoSplitSignal>::Read, <Sig as IntoSplitSignal>::Write>>
The type of the element with the two-way binding added.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F> ComponentFunction<(), EmptyMarker> for F
impl<F> ComponentFunction<(), EmptyMarker> for F
Source§impl<T, K, V> CustomAttribute<K, V> for T
impl<T, K, V> CustomAttribute<K, V> for T
Source§fn attr(self, key: K, value: V) -> Self::Output<CustomAttr<K, V>>
fn attr(self, key: K, value: V) -> Self::Output<CustomAttr<K, V>>
Adds an HTML attribute by key and value.
Source§impl<V, T, P, D> DirectiveAttribute<T, P, D> for V
impl<V, T, P, D> DirectiveAttribute<T, P, D> for V
Source§type Output = <V as AddAnyAttr>::Output<Directive<T, D, P>>
type Output = <V as AddAnyAttr>::Output<Directive<T, D, P>>
The type of the element with the directive added.
Source§fn directive(
self,
handler: D,
param: P,
) -> <V as DirectiveAttribute<T, P, D>>::Output
fn directive( self, handler: D, param: P, ) -> <V as DirectiveAttribute<T, P, D>>::Output
Adds a directive to the element, which runs some custom logic in the browser when the element
is created or hydrated.
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<S, T> FromStream<T> for S
impl<S, T> FromStream<T> for S
Source§fn from_stream(stream: impl Stream<Item = T> + Send + 'static) -> S
fn from_stream(stream: impl Stream<Item = T> + Send + 'static) -> S
Creates a signal that contains the latest value of the stream.
Source§fn from_stream_unsync(stream: impl Stream<Item = T> + 'static) -> S
fn from_stream_unsync(stream: impl Stream<Item = T> + 'static) -> S
Creates a signal that contains the latest value of the stream.
Source§impl<T> InitializeFromFunction<T> for T
impl<T> InitializeFromFunction<T> for T
Source§fn initialize_from_function(f: fn() -> T) -> T
fn initialize_from_function(f: fn() -> T) -> T
Create an instance of this type from an initialization function
Source§impl<F, V> InnerHtmlValue for Fwhere
F: ReactiveFunction<Output = V>,
V: InnerHtmlValue + 'static,
<V as InnerHtmlValue>::State: 'static,
impl<F, V> InnerHtmlValue for Fwhere
F: ReactiveFunction<Output = V>,
V: InnerHtmlValue + 'static,
<V as InnerHtmlValue>::State: 'static,
Source§type AsyncOutput = <V as InnerHtmlValue>::AsyncOutput
type AsyncOutput = <V as InnerHtmlValue>::AsyncOutput
The type after all async data have resolved.
Source§type State = RenderEffect<<V as InnerHtmlValue>::State>
type State = RenderEffect<<V as InnerHtmlValue>::State>
The view state retained between building and rebuilding.
Source§type CloneableOwned = Arc<Mutex<dyn FnMut() -> V + Send>>
type CloneableOwned = Arc<Mutex<dyn FnMut() -> V + Send>>
An equivalent value that can be cloned and is
'static.Source§fn to_template(_buf: &mut String)
fn to_template(_buf: &mut String)
Renders the class to HTML for a
<template>.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <F as InnerHtmlValue>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <F as InnerHtmlValue>::State
Adds interactivity as necessary, given DOM nodes that were created from HTML that has
either been rendered on the server, or cloned for a
<template>.Source§fn build(self, el: &Element) -> <F as InnerHtmlValue>::State
fn build(self, el: &Element) -> <F as InnerHtmlValue>::State
Adds this class to the element during client-side rendering.
Source§fn rebuild(self, state: &mut <F as InnerHtmlValue>::State)
fn rebuild(self, state: &mut <F as InnerHtmlValue>::State)
Updates the value.
Source§fn into_cloneable(self) -> <F as InnerHtmlValue>::Cloneable
fn into_cloneable(self) -> <F as InnerHtmlValue>::Cloneable
Converts this to a cloneable type.
Source§fn into_cloneable_owned(self) -> <F as InnerHtmlValue>::CloneableOwned
fn into_cloneable_owned(self) -> <F as InnerHtmlValue>::CloneableOwned
Converts this to a cloneable, owned type.
Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
“Runs” the attribute without other side effects. For primitive types, this is a no-op. For
reactive types, this can be used to gather data about reactivity or about asynchronous data
that needs to be loaded.
Source§async fn resolve(self) -> <F as InnerHtmlValue>::AsyncOutput
async fn resolve(self) -> <F as InnerHtmlValue>::AsyncOutput
“Resolves” this into a type that is not waiting for any asynchronous data.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoAny for Twhere
T: Send + RenderHtml,
impl<T> IntoAny for Twhere
T: Send + RenderHtml,
Source§impl<T> IntoAttributeValue for Twhere
T: AttributeValue,
impl<T> IntoAttributeValue for Twhere
T: AttributeValue,
Source§fn into_attribute_value(self) -> <T as IntoAttributeValue>::Output
fn into_attribute_value(self) -> <T as IntoAttributeValue>::Output
Consumes this value, transforming it into an attribute value.
Source§impl<F, C> IntoClass for F
impl<F, C> IntoClass for F
Source§type AsyncOutput = <C as IntoClass>::AsyncOutput
type AsyncOutput = <C as IntoClass>::AsyncOutput
The type after all async data have resolved.
Source§type State = RenderEffect<<C as IntoClass>::State>
type State = RenderEffect<<C as IntoClass>::State>
The view state retained between building and rebuilding.
Source§type CloneableOwned = Arc<Mutex<dyn FnMut() -> C + Send>>
type CloneableOwned = Arc<Mutex<dyn FnMut() -> C + Send>>
An equivalent value that can be cloned and is
'static.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <F as IntoClass>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <F as IntoClass>::State
Adds interactivity as necessary, given DOM nodes that were created from HTML that has
either been rendered on the server, or cloned for a
<template>.Source§fn build(self, el: &Element) -> <F as IntoClass>::State
fn build(self, el: &Element) -> <F as IntoClass>::State
Adds this class to the element during client-side rendering.
Source§fn into_cloneable(self) -> <F as IntoClass>::Cloneable
fn into_cloneable(self) -> <F as IntoClass>::Cloneable
Converts this to a cloneable type.
Source§fn into_cloneable_owned(self) -> <F as IntoClass>::CloneableOwned
fn into_cloneable_owned(self) -> <F as IntoClass>::CloneableOwned
Converts this to a cloneable, owned type.
Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
“Runs” the attribute without other side effects. For primitive types, this is a no-op. For
reactive types, this can be used to gather data about reactivity or about asynchronous data
that needs to be loaded.
Source§async fn resolve(self) -> <F as IntoClass>::AsyncOutput
async fn resolve(self) -> <F as IntoClass>::AsyncOutput
“Resolves” this into a type that is not waiting for any asynchronous data.
Source§fn reset(state: &mut <F as IntoClass>::State)
fn reset(state: &mut <F as IntoClass>::State)
Reset the class list to the state before this class was added.
Source§const MIN_LENGTH: usize = _
const MIN_LENGTH: usize = _
The minimum length of the HTML.
Source§fn should_overwrite(&self) -> bool
fn should_overwrite(&self) -> bool
Whether this class attribute should overwrite previous class values.
Returns
true for class="..." attributes, false for class:name=value directives.Source§fn to_template(class: &mut String)
fn to_template(class: &mut String)
Renders the class to HTML for a
<template>.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 moreSource§impl<T> IntoMaybeErased for Twhere
T: RenderHtml,
impl<T> IntoMaybeErased for Twhere
T: RenderHtml,
Source§fn into_maybe_erased(self) -> <T as IntoMaybeErased>::Output
fn into_maybe_erased(self) -> <T as IntoMaybeErased>::Output
Converts the view into a type-erased view if in erased mode.
Source§impl<T, F> IntoOptionGetter<T, FunctionMarker> for F
impl<T, F> IntoOptionGetter<T, FunctionMarker> for F
Source§fn into_option_getter(self) -> OptionGetter<T>
fn into_option_getter(self) -> OptionGetter<T>
Converts the given value into an
OptionGetter.Source§impl<F, V> IntoProperty for Fwhere
F: ReactiveFunction<Output = V>,
V: IntoProperty + 'static,
<V as IntoProperty>::State: 'static,
impl<F, V> IntoProperty for Fwhere
F: ReactiveFunction<Output = V>,
V: IntoProperty + 'static,
<V as IntoProperty>::State: 'static,
Source§type State = RenderEffect<<V as IntoProperty>::State>
type State = RenderEffect<<V as IntoProperty>::State>
The view state retained between building and rebuilding.
Source§type CloneableOwned = Arc<Mutex<dyn FnMut() -> V + Send>>
type CloneableOwned = Arc<Mutex<dyn FnMut() -> V + Send>>
An equivalent value that can be cloned and is
'static.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
key: &str,
) -> <F as IntoProperty>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, key: &str, ) -> <F as IntoProperty>::State
Adds the property on an element created from HTML.
Source§fn build(self, el: &Element, key: &str) -> <F as IntoProperty>::State
fn build(self, el: &Element, key: &str) -> <F as IntoProperty>::State
Adds the property during client-side rendering.
Source§fn rebuild(self, state: &mut <F as IntoProperty>::State, key: &str)
fn rebuild(self, state: &mut <F as IntoProperty>::State, key: &str)
Updates the property with a new value.
Source§fn into_cloneable(self) -> <F as IntoProperty>::Cloneable
fn into_cloneable(self) -> <F as IntoProperty>::Cloneable
Converts this to a cloneable type.
Source§fn into_cloneable_owned(self) -> <F as IntoProperty>::CloneableOwned
fn into_cloneable_owned(self) -> <F as IntoProperty>::CloneableOwned
Converts this to a cloneable, owned type.
Source§impl<T, I> IntoReactiveValue<T, __IntoReactiveValueMarkerBaseCase> for Iwhere
I: Into<T>,
impl<T, I> IntoReactiveValue<T, __IntoReactiveValueMarkerBaseCase> for Iwhere
I: Into<T>,
Source§fn into_reactive_value(self) -> T
fn into_reactive_value(self) -> T
Converts
self into a T.Source§impl<T> IntoRender for Twhere
T: Render,
impl<T> IntoRender for Twhere
T: Render,
Source§fn into_render(self) -> <T as IntoRender>::Output
fn into_render(self) -> <T as IntoRender>::Output
Consumes this value, transforming it into the renderable type.
Source§impl<F, C> IntoStyle for F
impl<F, C> IntoStyle for F
Source§type AsyncOutput = <C as IntoStyle>::AsyncOutput
type AsyncOutput = <C as IntoStyle>::AsyncOutput
The type after all async data have resolved.
Source§type State = RenderEffect<<C as IntoStyle>::State>
type State = RenderEffect<<C as IntoStyle>::State>
The view state retained between building and rebuilding.
Source§type CloneableOwned = Arc<Mutex<dyn FnMut() -> C + Send>>
type CloneableOwned = Arc<Mutex<dyn FnMut() -> C + Send>>
An equivalent value that can be cloned and is
'static.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <F as IntoStyle>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <F as IntoStyle>::State
Adds interactivity as necessary, given DOM nodes that were created from HTML that has
either been rendered on the server, or cloned for a
<template>.Source§fn build(self, el: &Element) -> <F as IntoStyle>::State
fn build(self, el: &Element) -> <F as IntoStyle>::State
Adds this style to the element during client-side rendering.
Source§fn into_cloneable(self) -> <F as IntoStyle>::Cloneable
fn into_cloneable(self) -> <F as IntoStyle>::Cloneable
Converts this to a cloneable type.
Source§fn into_cloneable_owned(self) -> <F as IntoStyle>::CloneableOwned
fn into_cloneable_owned(self) -> <F as IntoStyle>::CloneableOwned
Converts this to a cloneable, owned type.
Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
“Runs” the attribute without other side effects. For primitive types, this is a no-op. For
reactive types, this can be used to gather data about reactivity or about asynchronous data
that needs to be loaded.
Source§async fn resolve(self) -> <F as IntoStyle>::AsyncOutput
async fn resolve(self) -> <F as IntoStyle>::AsyncOutput
“Resolves” this into a type that is not waiting for any asynchronous data.
Source§impl<F, S> IntoStyleValue for Fwhere
F: ReactiveFunction<Output = S>,
S: IntoStyleValue + 'static,
impl<F, S> IntoStyleValue for Fwhere
F: ReactiveFunction<Output = S>,
S: IntoStyleValue + 'static,
Source§type AsyncOutput = F
type AsyncOutput = F
The type after all async data have resolved.
Source§type State = (Arc<str>, RenderEffect<<S as IntoStyleValue>::State>)
type State = (Arc<str>, RenderEffect<<S as IntoStyleValue>::State>)
The view state retained between building and rebuilding.
Source§type CloneableOwned = Arc<Mutex<dyn FnMut() -> S + Send>>
type CloneableOwned = Arc<Mutex<dyn FnMut() -> S + Send>>
An equivalent value that can be cloned and is
'static.Source§fn build(
self,
style: &CssStyleDeclaration,
name: &str,
) -> <F as IntoStyleValue>::State
fn build( self, style: &CssStyleDeclaration, name: &str, ) -> <F as IntoStyleValue>::State
Adds this style to the element during client-side rendering.
Source§fn rebuild(
self,
style: &CssStyleDeclaration,
name: &str,
state: &mut <F as IntoStyleValue>::State,
)
fn rebuild( self, style: &CssStyleDeclaration, name: &str, state: &mut <F as IntoStyleValue>::State, )
Updates the value.
Source§fn hydrate(
self,
style: &CssStyleDeclaration,
name: &str,
) -> <F as IntoStyleValue>::State
fn hydrate( self, style: &CssStyleDeclaration, name: &str, ) -> <F as IntoStyleValue>::State
Adds interactivity as necessary, given DOM nodes that were created from HTML that has
either been rendered on the server, or cloned for a
<template>.Source§fn into_cloneable(self) -> <F as IntoStyleValue>::Cloneable
fn into_cloneable(self) -> <F as IntoStyleValue>::Cloneable
Converts this to a cloneable type.
Source§fn into_cloneable_owned(self) -> <F as IntoStyleValue>::CloneableOwned
fn into_cloneable_owned(self) -> <F as IntoStyleValue>::CloneableOwned
Converts this to a cloneable, owned type.
Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
“Runs” the attribute without other side effects. For primitive types, this is a no-op. For
reactive types, this can be used to gather data about reactivity or about asynchronous data
that needs to be loaded.
Source§async fn resolve(self) -> <F as IntoStyleValue>::AsyncOutput
async fn resolve(self) -> <F as IntoStyleValue>::AsyncOutput
“Resolves” this into a type that is not waiting for any asynchronous data.
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.Source§impl<F, T> ReactiveFunction for F
impl<F, T> ReactiveFunction for F
Source§impl<T> ReactiveNode for Twhere
T: AsSubscriberSet + DefinedAt,
impl<T> ReactiveNode for Twhere
T: AsSubscriberSet + DefinedAt,
Source§fn mark_dirty(&self)
fn mark_dirty(&self)
Notifies the source’s dependencies that it has changed.
Source§fn mark_check(&self)
fn mark_check(&self)
Notifies the source’s dependencies that it may have changed.
Source§fn mark_subscribers_check(&self)
fn mark_subscribers_check(&self)
Marks that all subscribers need to be checked.
Source§fn update_if_necessary(&self) -> bool
fn update_if_necessary(&self) -> bool
Regenerates the value for this node, if needed, and returns whether
it has actually changed or not.
Source§impl<T> Read for Twhere
T: Track + ReadUntracked,
impl<T> Read for Twhere
T: Track + ReadUntracked,
Source§impl<F, V> Render for F
impl<F, V> Render for F
Source§impl<F, V> RenderHtml for F
impl<F, V> RenderHtml for F
Source§const MIN_LENGTH: usize = 0
const MIN_LENGTH: usize = 0
The minimum length of HTML created when this view is rendered.
Source§type AsyncOutput = <V as RenderHtml>::AsyncOutput
type AsyncOutput = <V as RenderHtml>::AsyncOutput
The type of the view after waiting for all asynchronous data to load.
Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
“Runs” the view without other side effects. For primitive types, this is a no-op. For
reactive types, this can be used to gather data about reactivity or about asynchronous data
that needs to be loaded.
Source§async fn resolve(self) -> <F as RenderHtml>::AsyncOutput
async fn resolve(self) -> <F as RenderHtml>::AsyncOutput
Waits for any asynchronous sections of the view to load and returns the output.
Source§fn html_len(&self) -> usize
fn html_len(&self) -> usize
An estimated length for this view, when rendered to HTML. Read more
Source§fn to_html_with_buf(
self,
buf: &mut String,
position: &mut Position,
escape: bool,
mark_branches: bool,
extra_attrs: Vec<AnyAttribute>,
)
fn to_html_with_buf( self, buf: &mut String, position: &mut Position, escape: bool, mark_branches: bool, extra_attrs: Vec<AnyAttribute>, )
Renders a view to HTML, writing it into the given buffer.
Source§fn to_html_async_with_buf<const OUT_OF_ORDER: bool>(
self,
buf: &mut StreamBuilder,
position: &mut Position,
escape: bool,
mark_branches: bool,
extra_attrs: Vec<AnyAttribute>,
)where
F: Sized,
fn to_html_async_with_buf<const OUT_OF_ORDER: bool>(
self,
buf: &mut StreamBuilder,
position: &mut Position,
escape: bool,
mark_branches: bool,
extra_attrs: Vec<AnyAttribute>,
)where
F: Sized,
Renders a view into a buffer of (synchronous or asynchronous) HTML chunks.
Source§fn hydrate<const FROM_SERVER: bool>(
self,
cursor: &Cursor,
position: &PositionState,
) -> <F as Render>::State
fn hydrate<const FROM_SERVER: bool>( self, cursor: &Cursor, position: &PositionState, ) -> <F as Render>::State
Makes a set of DOM nodes rendered from HTML interactive. Read more
Source§async fn hydrate_async(
self,
cursor: &Cursor,
position: &PositionState,
) -> <F as Render>::State
async fn hydrate_async( self, cursor: &Cursor, position: &PositionState, ) -> <F as Render>::State
Asynchronously makes a set of DOM nodes rendered from HTML interactive. Read more
Source§fn into_owned(self) -> <F as RenderHtml>::Owned
fn into_owned(self) -> <F as RenderHtml>::Owned
Convert into the equivalent value that is
'static.Source§const EXISTS: bool = true
const EXISTS: bool = true
Whether this should actually exist in the DOM, if it is the child of an element.
Source§fn to_html_branching(self) -> Stringwhere
Self: Sized,
fn to_html_branching(self) -> Stringwhere
Self: Sized,
Renders a view to HTML with branch markers. This can be used to support libraries that diff
HTML pages against one another, by marking sections of the view that branch to different
types with marker comments.
Source§fn to_html_stream_in_order(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_in_order(self) -> StreamBuilderwhere
Self: Sized,
Renders a view to an in-order stream of HTML.
Source§fn to_html_stream_in_order_branching(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_in_order_branching(self) -> StreamBuilderwhere
Self: Sized,
Renders a view to an in-order stream of HTML with branch markers. This can be used to support libraries that diff
HTML pages against one another, by marking sections of the view that branch to different
types with marker comments.
Source§fn to_html_stream_out_of_order(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_out_of_order(self) -> StreamBuilderwhere
Self: Sized,
Renders a view to an out-of-order stream of HTML.
Source§fn to_html_stream_out_of_order_branching(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_out_of_order_branching(self) -> StreamBuilderwhere
Self: Sized,
Renders a view to an out-of-order stream of HTML with branch markers. This can be used to support libraries that diff
HTML pages against one another, by marking sections of the view that branch to different
types with marker comments.
Source§fn hydrate_from<const FROM_SERVER: bool>(self, el: &Element) -> Self::Statewhere
Self: Sized,
fn hydrate_from<const FROM_SERVER: bool>(self, el: &Element) -> Self::Statewhere
Self: Sized,
Hydrates using
RenderHtml::hydrate, beginning at the given element.Source§fn hydrate_from_position<const FROM_SERVER: bool>(
self,
el: &Element,
position: Position,
) -> Self::Statewhere
Self: Sized,
fn hydrate_from_position<const FROM_SERVER: bool>(
self,
el: &Element,
position: Position,
) -> Self::Statewhere
Self: Sized,
Hydrates using
RenderHtml::hydrate, beginning at the given element and position.Source§impl<T> SerializableKey for T
impl<T> SerializableKey for T
Source§impl<T> Source for Twhere
T: AsSubscriberSet + DefinedAt,
impl<T> Source for Twhere
T: AsSubscriberSet + DefinedAt,
Source§fn clear_subscribers(&self)
fn clear_subscribers(&self)
Remove all subscribers from this source’s list of dependencies.
Source§fn add_subscriber(&self, subscriber: AnySubscriber)
fn add_subscriber(&self, subscriber: AnySubscriber)
Adds a subscriber to this source’s list of dependencies.
Source§fn remove_subscriber(&self, subscriber: &AnySubscriber)
fn remove_subscriber(&self, subscriber: &AnySubscriber)
Removes a subscriber from this source’s list of dependencies.
Source§impl<Ret> SpawnIfAsync<(), Ret> for Ret
impl<Ret> SpawnIfAsync<(), Ret> for Ret
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.
Source§impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
Source§fn super_from(input: T) -> O
fn super_from(input: T) -> O
Convert from a type to another type.
Source§impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
Source§fn super_into(self) -> O
fn super_into(self) -> O
Convert from a type to another type.
Source§impl<F, V> ToTemplate for Fwhere
F: ReactiveFunction<Output = V>,
V: ToTemplate,
impl<F, V> ToTemplate for Fwhere
F: ReactiveFunction<Output = V>,
V: ToTemplate,
Source§fn to_template(
buf: &mut String,
class: &mut String,
style: &mut String,
inner_html: &mut String,
position: &mut Position,
)
fn to_template( buf: &mut String, class: &mut String, style: &mut String, inner_html: &mut String, position: &mut Position, )
Renders a view type to a template. This does not take actual view data,
but can be used for constructing part of an HTML
<template> that corresponds
to a view of a particular type.Source§impl<T> With for Twhere
T: Read,
impl<T> With for Twhere
T: Read,
Source§type Value = <<T as Read>::Value as Deref>::Target
type Value = <<T as Read>::Value as Deref>::Target
The type of the value contained in the signal.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Source§impl<T> WithUntracked for Twhere
T: DefinedAt + ReadUntracked,
impl<T> WithUntracked for Twhere
T: DefinedAt + ReadUntracked,
Source§type Value = <<T as ReadUntracked>::Value as Deref>::Target
type Value = <<T as ReadUntracked>::Value as Deref>::Target
The type of the value contained in the signal.
Source§fn try_with_untracked<U>(
&self,
fun: impl FnOnce(&<T as WithUntracked>::Value) -> U,
) -> Option<U>
fn try_with_untracked<U>( &self, fun: impl FnOnce(&<T as WithUntracked>::Value) -> U, ) -> Option<U>
Applies the closure to the value, and returns the result,
or
None if the signal has already been disposed.