Struct vizia_core::binding::Binding
source · pub struct Binding<L>where
L: Lens,{ /* private fields */ }
Expand description
A view with a binding which rebuilds its contents when the observed data changes.
This view is typically used to switch between two or more views when the bound data changes. The binding view will destroy and then recreate its contents whenever the bound data changes, so it is usually preferable to bind a view directly to the data (if supported) or to bind to a view modifier, which will update the properties of a view without rebuilding it.
Implementations§
source§impl<L> Binding<L>
impl<L> Binding<L>
sourcepub fn new<F>(cx: &mut Context, lens: L, builder: F)
pub fn new<F>(cx: &mut Context, lens: L, builder: F)
Creates a new binding view.
A binding view observes application data through a lens and rebuilds its contents if the data changes.
§Example
When the value of AppData::some_data
changes, the label inside of the binding will be rebuilt.
ⓘ
Binding::new(cx, AppData::some_data, |cx, lens|{
// Retrieve the data from context
let value = *lens.get(cx);
Label::new(cx, value.to_string());
});
Auto Trait Implementations§
impl<L> Freeze for Binding<L>where
L: Freeze,
impl<L> !RefUnwindSafe for Binding<L>
impl<L> !Send for Binding<L>
impl<L> !Sync for Binding<L>
impl<L> Unpin for Binding<L>where
L: Unpin,
impl<L> !UnwindSafe for Binding<L>
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.