Javascript 與 Rust
Yew 在一個地方集中了一個可重用的 UI 部分可能需要的所有內容 - rust 文件,同時也在必要時保持底層技術的可訪問性。
截至今天,WebAssembly 對於 DOM 互動還不完全支援。這意味著即使在 Yew 中,我們有時也依賴呼叫 JavaScript。接下來是涉及的庫的概述。
wasm-bindgen
wasm-bindgen
是一個在 JavaScript 和 Rust 函數之間建立呼叫橋樑的函式庫和工具。
web-sys
web-sys
crate 為 Web API 提供了綁定,並允許我們以一種經過 Rust 處理和安全的方式編寫 JavaScript 程式碼。
範例:
- JS
- RS
let document = window.document
use wasm_bindgen::UnwrapThrowExt;
use web_sys::window;
let document = window()
.expect_throw("window is undefined")
.document()
.expect_throw("document is undefined");