pub struct ArcSignal<T, S = SyncStorage>where
T: 'static,
S: Storage<T>,{ /* private fields */ }
Expand description
A wrapper for any kind of reference-counted reactive signal:
an ArcReadSignal
, ArcMemo
, ArcRwSignal
,
or derived signal closure.
This allows you to create APIs that take any kind of ArcSignal<T>
as an argument,
rather than adding a generic F: Fn() -> T
. Values can be access with the same
function call, with()
, and get()
APIs as other signals.
Implementations§
Source§impl<T> ArcSignal<T>where
SyncStorage: Storage<T>,
impl<T> ArcSignal<T>where
SyncStorage: Storage<T>,
Sourcepub fn derive(
derived_signal: impl Fn() -> T + Send + Sync + 'static,
) -> ArcSignal<T>
pub fn derive( derived_signal: impl Fn() -> T + Send + Sync + 'static, ) -> ArcSignal<T>
Wraps a derived signal, i.e., any computation that accesses one or more reactive signals.
let (count, set_count) = arc_signal(2);
let double_count = ArcSignal::derive({
let count = count.clone();
move || count.get() * 2
});
// this function takes any kind of wrapped signal
fn above_3(arg: &ArcSignal<i32>) -> bool {
arg.get() > 3
}
assert_eq!(above_3(&count.into()), false);
assert_eq!(above_3(&double_count), true);
Sourcepub fn stored(value: T) -> ArcSignal<T>
pub fn stored(value: T) -> ArcSignal<T>
Moves a static, nonreactive value into a signal, backed by ArcStoredValue
.
Trait Implementations§
Source§impl<V> AddAnyAttr for ArcSignal<V>
impl<V> AddAnyAttr for ArcSignal<V>
Source§impl<V> AttributeValue for ArcSignal<V>where
ArcSignal<V>: Get<Value = V>,
V: AttributeValue + Clone + Send + Sync + 'static,
<V as AttributeValue>::State: 'static,
impl<V> AttributeValue for ArcSignal<V>where
ArcSignal<V>: Get<Value = V>,
V: AttributeValue + Clone + Send + Sync + 'static,
<V as AttributeValue>::State: 'static,
Source§type AsyncOutput = ArcSignal<V>
type AsyncOutput = ArcSignal<V>
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 = ArcSignal<V>
type Cloneable = ArcSignal<V>
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 = ArcSignal<V>
type CloneableOwned = ArcSignal<V>
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,
) -> <ArcSignal<V> as AttributeValue>::State
fn hydrate<const FROM_SERVER: bool>( self, key: &str, el: &Element, ) -> <ArcSignal<V> 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,
) -> <ArcSignal<V> as AttributeValue>::State
fn build( self, el: &Element, key: &str, ) -> <ArcSignal<V> as AttributeValue>::State
Adds this attribute to the element during client-side rendering.
Source§fn rebuild(self, key: &str, state: &mut <ArcSignal<V> as AttributeValue>::State)
fn rebuild(self, key: &str, state: &mut <ArcSignal<V> as AttributeValue>::State)
Applies a new value for the attribute.
Source§fn into_cloneable(self) -> <ArcSignal<V> as AttributeValue>::Cloneable
fn into_cloneable(self) -> <ArcSignal<V> as AttributeValue>::Cloneable
Converts this attribute into an equivalent that can be cloned.
Source§fn into_cloneable_owned(
self,
) -> <ArcSignal<V> as AttributeValue>::CloneableOwned
fn into_cloneable_owned( self, ) -> <ArcSignal<V> 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) -> <ArcSignal<V> as AttributeValue>::AsyncOutput
async fn resolve(self) -> <ArcSignal<V> as AttributeValue>::AsyncOutput
“Resolves” this into a form that is not waiting for any asynchronous data.
Source§impl<T, S> DefinedAt for ArcSignal<T, S>where
S: Storage<T>,
impl<T, S> DefinedAt for ArcSignal<T, S>where
S: Storage<T>,
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> From<ArcReadSignal<T>> for ArcSignal<T>
impl<T> From<ArcReadSignal<T>> for ArcSignal<T>
Source§fn from(value: ArcReadSignal<T>) -> ArcSignal<T>
fn from(value: ArcReadSignal<T>) -> ArcSignal<T>
Converts to this type from the input type.
Source§impl<T> From<ArcRwSignal<T>> for ArcSignal<T>
impl<T> From<ArcRwSignal<T>> for ArcSignal<T>
Source§fn from(value: ArcRwSignal<T>) -> ArcSignal<T>
fn from(value: ArcRwSignal<T>) -> ArcSignal<T>
Converts to this type from the input type.
Source§impl<T> FromLocal<ArcSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
impl<T> FromLocal<ArcSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
Source§fn from_local(value: ArcSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
fn from_local(value: ArcSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
Converts between the types.
Source§impl<V> InnerHtmlValue for ArcSignal<V>where
ArcSignal<V>: Get<Value = V>,
V: InnerHtmlValue + Send + Sync + Clone + 'static,
<V as InnerHtmlValue>::State: 'static,
impl<V> InnerHtmlValue for ArcSignal<V>where
ArcSignal<V>: Get<Value = V>,
V: InnerHtmlValue + Send + Sync + Clone + 'static,
<V as InnerHtmlValue>::State: 'static,
Source§type AsyncOutput = ArcSignal<V>
type AsyncOutput = ArcSignal<V>
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 = ArcSignal<V>
type CloneableOwned = ArcSignal<V>
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,
) -> <ArcSignal<V> as InnerHtmlValue>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <ArcSignal<V> 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) -> <ArcSignal<V> as InnerHtmlValue>::State
fn build(self, el: &Element) -> <ArcSignal<V> as InnerHtmlValue>::State
Adds this class to the element during client-side rendering.
Source§fn into_cloneable(self) -> <ArcSignal<V> as InnerHtmlValue>::Cloneable
fn into_cloneable(self) -> <ArcSignal<V> as InnerHtmlValue>::Cloneable
Converts this to a cloneable type.
Source§fn into_cloneable_owned(
self,
) -> <ArcSignal<V> as InnerHtmlValue>::CloneableOwned
fn into_cloneable_owned( self, ) -> <ArcSignal<V> 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) -> <ArcSignal<V> as InnerHtmlValue>::AsyncOutput
async fn resolve(self) -> <ArcSignal<V> as InnerHtmlValue>::AsyncOutput
“Resolves” this into a type that is not waiting for any asynchronous data.
Source§impl<C> IntoClass for ArcSignal<C>
impl<C> IntoClass for ArcSignal<C>
Source§type AsyncOutput = ArcSignal<C>
type AsyncOutput = ArcSignal<C>
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 = ArcSignal<C>
type CloneableOwned = ArcSignal<C>
An equivalent value that can be cloned and is
'static
.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <ArcSignal<C> as IntoClass>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <ArcSignal<C> 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) -> <ArcSignal<C> as IntoClass>::State
fn build(self, el: &Element) -> <ArcSignal<C> as IntoClass>::State
Adds this class to the element during client-side rendering.
Source§fn into_cloneable(self) -> <ArcSignal<C> as IntoClass>::Cloneable
fn into_cloneable(self) -> <ArcSignal<C> as IntoClass>::Cloneable
Converts this to a cloneable type.
Source§fn into_cloneable_owned(self) -> <ArcSignal<C> as IntoClass>::CloneableOwned
fn into_cloneable_owned(self) -> <ArcSignal<C> 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) -> <ArcSignal<C> as IntoClass>::AsyncOutput
async fn resolve(self) -> <ArcSignal<C> as IntoClass>::AsyncOutput
“Resolves” this into a type that is not waiting for any asynchronous data.
Source§fn reset(state: &mut <ArcSignal<C> as IntoClass>::State)
fn reset(state: &mut <ArcSignal<C> 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 to_template(class: &mut String)
fn to_template(class: &mut String)
Renders the class to HTML for a
<template>
.Source§impl<V> IntoProperty for ArcSignal<V>where
ArcSignal<V>: Get<Value = V>,
V: IntoProperty + Send + Sync + Clone + 'static,
<V as IntoProperty>::State: 'static,
impl<V> IntoProperty for ArcSignal<V>where
ArcSignal<V>: Get<Value = V>,
V: IntoProperty + Send + Sync + Clone + '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 = ArcSignal<V>
type CloneableOwned = ArcSignal<V>
An equivalent value that can be cloned and is
'static
.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
key: &str,
) -> <ArcSignal<V> as IntoProperty>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, key: &str, ) -> <ArcSignal<V> as IntoProperty>::State
Adds the property on an element created from HTML.
Source§fn build(self, el: &Element, key: &str) -> <ArcSignal<V> as IntoProperty>::State
fn build(self, el: &Element, key: &str) -> <ArcSignal<V> as IntoProperty>::State
Adds the property during client-side rendering.
Source§fn rebuild(self, state: &mut <ArcSignal<V> as IntoProperty>::State, key: &str)
fn rebuild(self, state: &mut <ArcSignal<V> as IntoProperty>::State, key: &str)
Updates the property with a new value.
Source§fn into_cloneable(self) -> <ArcSignal<V> as IntoProperty>::Cloneable
fn into_cloneable(self) -> <ArcSignal<V> as IntoProperty>::Cloneable
Converts this to a cloneable type.
Source§fn into_cloneable_owned(self) -> <ArcSignal<V> as IntoProperty>::CloneableOwned
fn into_cloneable_owned(self) -> <ArcSignal<V> as IntoProperty>::CloneableOwned
Converts this to a cloneable, owned type.
Source§impl<C> IntoStyle for ArcSignal<C>
impl<C> IntoStyle for ArcSignal<C>
Source§type AsyncOutput = ArcSignal<C>
type AsyncOutput = ArcSignal<C>
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 = ArcSignal<C>
type CloneableOwned = ArcSignal<C>
An equivalent value that can be cloned and is
'static
.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <ArcSignal<C> as IntoStyle>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <ArcSignal<C> 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) -> <ArcSignal<C> as IntoStyle>::State
fn build(self, el: &Element) -> <ArcSignal<C> as IntoStyle>::State
Adds this style to the element during client-side rendering.
Source§fn into_cloneable(self) -> <ArcSignal<C> as IntoStyle>::Cloneable
fn into_cloneable(self) -> <ArcSignal<C> as IntoStyle>::Cloneable
Converts this to a cloneable type.
Source§fn into_cloneable_owned(self) -> <ArcSignal<C> as IntoStyle>::CloneableOwned
fn into_cloneable_owned(self) -> <ArcSignal<C> 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§impl<T, S> ReadUntracked for ArcSignal<T, S>where
S: Storage<T>,
impl<T, S> ReadUntracked for ArcSignal<T, S>where
S: Storage<T>,
Source§fn custom_try_read(
&self,
) -> Option<Option<<ArcSignal<T, S> as ReadUntracked>::Value>>
fn custom_try_read( &self, ) -> Option<Option<<ArcSignal<T, S> as ReadUntracked>::Value>>
Overriding the default auto implemented Read::try_read
to combine read and track,
to avoid 2 clones and just have 1 in the SignalTypes::DerivedSignal
.
Source§type Value = ReadGuard<T, SignalReadGuard<T, S>>
type Value = ReadGuard<T, SignalReadGuard<T, S>>
The guard type that will be returned, which can be dereferenced to the value.
Source§fn try_read_untracked(
&self,
) -> Option<<ArcSignal<T, S> as ReadUntracked>::Value>
fn try_read_untracked( &self, ) -> Option<<ArcSignal<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§impl<V> Render for ArcSignal<V>
impl<V> Render for ArcSignal<V>
Source§impl<V> RenderHtml for ArcSignal<V>
impl<V> RenderHtml for ArcSignal<V>
Source§const MIN_LENGTH: usize = 0usize
const MIN_LENGTH: usize = 0usize
The minimum length of HTML created when this view is rendered.
Source§type AsyncOutput = ArcSignal<V>
type AsyncOutput = ArcSignal<V>
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) -> <ArcSignal<V> as RenderHtml>::AsyncOutput
async fn resolve(self) -> <ArcSignal<V> 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,
)
fn to_html_with_buf( self, buf: &mut String, position: &mut Position, escape: bool, mark_branches: bool, )
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,
)
fn to_html_async_with_buf<const OUT_OF_ORDER: bool>( self, buf: &mut StreamBuilder, position: &mut Position, escape: bool, mark_branches: bool, )
Renders a view into a buffer of (synchronous or asynchronous) HTML chunks.
Source§fn hydrate<const FROM_SERVER: bool>(
self,
cursor: &Cursor,
position: &PositionState,
) -> <ArcSignal<V> as Render>::State
fn hydrate<const FROM_SERVER: bool>( self, cursor: &Cursor, position: &PositionState, ) -> <ArcSignal<V> as Render>::State
Makes a set of DOM nodes rendered from HTML interactive. Read more
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.impl<T, S> Eq for ArcSignal<T, S>where
S: Storage<T>,
Auto Trait Implementations§
impl<T, S> Freeze for ArcSignal<T, S>
impl<T, S = SyncStorage> !RefUnwindSafe for ArcSignal<T, S>
impl<T, S> Send for ArcSignal<T, S>
impl<T, S> Sync for ArcSignal<T, S>
impl<T, S> Unpin for ArcSignal<T, S>
impl<T, S = SyncStorage> !UnwindSafe for ArcSignal<T, S>
Blanket Implementations§
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<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> 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<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> 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<T> Read for Twhere
T: Track + ReadUntracked,
impl<T> Read for Twhere
T: Track + ReadUntracked,
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> 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> 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.