This is unreleased documentation for Yew Next version.
For up-to-date documentation, see the latest version on docs.rs.
yew::html

Struct Scope

source
pub struct Scope<COMP: BaseComponent> { /* private fields */ }
Expand description

A context which allows sending messages to a component.

Implementations§

source§

impl<COMP: BaseComponent> Scope<COMP>

source

pub fn get_parent(&self) -> Option<&AnyScope>

Returns the parent scope

source

pub fn callback<F, IN, M>(&self, function: F) -> Callback<IN>
where M: Into<COMP::Message>, F: Fn(IN) -> M + 'static,

Creates a Callback which will send a message to the linked component’s update method when invoked.

If your callback function returns a Future, use callback_future instead.

source

pub fn batch_callback<F, IN, OUT>(&self, function: F) -> Callback<IN>
where F: Fn(IN) -> OUT + 'static, OUT: SendAsMessage<COMP>,

Creates a Callback which will send a batch of messages back to the linked component’s update method when invoked.

The callback function’s return type is generic to allow for dealing with both Option and Vec nicely. Option can be used when dealing with a callback that might not need to send an update.

link.batch_callback(|_| vec![Msg::A, Msg::B]);
link.batch_callback(|_| Some(Msg::A));
source

pub fn context<T: Clone + PartialEq + 'static>( &self, callback: Callback<T>, ) -> Option<(T, ContextHandle<T>)>

Accesses a value provided by a parent ContextProvider component of the same type.

source

pub fn send_future<Fut, Msg>(&self, future: Fut)
where Msg: Into<COMP::Message>, Fut: Future<Output = Msg> + 'static,

This method asynchronously awaits a Future that returns a message and sends it to the linked component.

§Panics

If the future panics, then the promise will not resolve, and will leak.

source

pub fn callback_future<F, Fut, IN, Msg>(&self, function: F) -> Callback<IN>
where Msg: Into<COMP::Message>, Fut: Future<Output = Msg> + 'static, F: Fn(IN) -> Fut + 'static,

This method creates a Callback which, when emitted, asynchronously awaits the message returned from the passed function before sending it to the linked component.

§Panics

If the future panics, then the promise will not resolve, and will leak.

source

pub fn send_future_batch<Fut>(&self, future: Fut)
where Fut: Future + 'static, Fut::Output: SendAsMessage<COMP>,

Asynchronously send a batch of messages to a component. This asynchronously awaits the passed Future, before sending the message batch to the linked component.

§Panics

If the future panics, then the promise will not resolve, and will leak.

source

pub fn send_stream<S, M>(&self, stream: S)
where M: Into<COMP::Message>, S: Stream<Item = M> + 'static,

This method asynchronously awaits a [Stream] that returns a series of messages and sends them to the linked component.

§Panics

If the stream panics, then the promise will not resolve, and will leak.

§Note

This method will not notify the component when the stream has been fully exhausted. If you want this feature, you can add an EOF message variant for your component and use [StreamExt::chain] and stream::once to chain an EOF message to the original stream. If your stream is produced by another crate, you can use [StreamExt::map] to transform the stream’s item type to the component message type.

source

pub fn get_component(&self) -> Option<impl Deref<Target = COMP> + '_>

Returns the linked component if available

source

pub fn send_message<T>(&self, msg: T)
where T: Into<COMP::Message>,

Send a message to the component.

source

pub fn send_message_batch(&self, messages: Vec<COMP::Message>)

Send a batch of messages to the component.

This is slightly more efficient than calling send_message in a loop.

Trait Implementations§

source§

impl<COMP: BaseComponent> Clone for Scope<COMP>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<COMP: BaseComponent> Debug for Scope<COMP>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<COMP: BaseComponent> From<Scope<COMP>> for AnyScope

source§

fn from(scope: Scope<COMP>) -> Self

Converts to this type from the input type.
source§

impl<Comp: Component> ImplicitClone for Scope<Comp>

§

fn implicit_clone(&self) -> Self

This function is not magic; it is literally defined as Read more

Auto Trait Implementations§

§

impl<COMP> Freeze for Scope<COMP>

§

impl<COMP> !RefUnwindSafe for Scope<COMP>

§

impl<COMP> !Send for Scope<COMP>

§

impl<COMP> !Sync for Scope<COMP>

§

impl<COMP> Unpin for Scope<COMP>
where COMP: Unpin,

§

impl<COMP> !UnwindSafe for Scope<COMP>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoPropValue<Option<T>> for T

source§

fn into_prop_value(self) -> Option<T>

Convert self to a value of a Properties struct.
source§

impl<T> IntoPropValue<T> for T

source§

fn into_prop_value(self) -> T

Convert self to a value of a Properties struct.
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more