跳到主要內容
版本:0.21

參考

ref 關鍵字可以在任何 HTML 元素或元件內使用,以取得該項目附加的 DOM Element。這可以用在 view 生命週期方法之外對 DOM 做出變更。

這個對取得畫布元素或捲動到頁面的不同分區很有用。例如在元件的 rendered 方法中使用 NodeRef 可讓您在從 view 渲染完畫布元素後對其進行繪製呼叫。

語法是

use web_sys::Element;
use yew::{html, Component, Context, Html, NodeRef};

struct Comp {
node_ref: NodeRef,
}

impl Component for Comp {
type Message = ();
type Properties = ();

fn create(_ctx: &Context<Self>) -> Self {
Self {
node_ref: NodeRef::default(),
}
}

fn view(&self, _ctx: &Context<Self>) -> Html {
html! {
<div ref={self.node_ref.clone()}></div>
}
}

fn rendered(&mut self, _ctx: &Context<Self>, _first_render: bool) {
let has_attributes = self.node_ref
.cast::<Element>()
.unwrap()
.has_attributes();
}
}

相關範例