Refs
ref
关键词可被用在任何 HTML 元素或组件内部以获得与之关联的 DOM 元素
。这样就能在 view
生命周期方法之外对 DOM 进行更改。
这对于获取 canvas 元素或将页面滑动到不同部分非常有用。例如,在组件的rendered
方法中使用 NodeRef
可以让 canvas 元素在被 view
渲染后进行绘制。
语法如下:
// 在 create 中
self.node_ref = NodeRef::default();
// 在 view 中
html! {
<div ref=self.node_ref.clone()></div>
}
// 在 update 中
let has_attributes = self.node_ref.cast::<Element>().unwrap().has_attributes();