pub trait Updatewhere
Self: Sized,
Self::Msg: DisplayVariant,{
type Model;
type ModelParam: Sized;
type Msg;
// Required methods
fn model(relm: &Relm<Self>, param: Self::ModelParam) -> Self::Model;
fn update(&mut self, event: Self::Msg);
// Provided method
fn subscriptions(&mut self, _relm: &Relm<Self>) { ... }
}
Expand description
Trait for a basic (non-widget) component.
A component has a model (data) associated with it and can mutate it when it receives a message
(in the update()
method).
Required Associated Types§
sourcetype ModelParam: Sized
type ModelParam: Sized
The type of the parameter of the model() function used to initialize the model.
Required Methods§
sourcefn model(relm: &Relm<Self>, param: Self::ModelParam) -> Self::Model
fn model(relm: &Relm<Self>, param: Self::ModelParam) -> Self::Model
Create the initial model.
Provided Methods§
sourcefn subscriptions(&mut self, _relm: &Relm<Self>)
fn subscriptions(&mut self, _relm: &Relm<Self>)
Connect the subscriptions.
Subscriptions are Future
/Stream
that are spawn when the object is created.