Refs

ref 关键词可被用在任何 HTML 元素或组件内部以获得与之关联的 DOM 元素。这样就能在 view 生命周期方法之外对 DOM 进行更改。

这对于获取 canvas 元素或将页面滑动到不同部分非常有用。例如,在组件的rendered 方法中使用 NodeRef 可以让 canvas 元素在被 view渲染后进行绘制。

语法如下:

  1. // 在 create 中
  2. self.node_ref = NodeRef::default();
  3. // 在 view 中
  4. html! {
  5. <div ref=self.node_ref.clone()></div>
  6. }
  7. // 在 update 中
  8. let has_attributes = self.node_ref.cast::<Element>().unwrap().has_attributes();

相关例子