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");