JS 与 RS
Yew 的核心思想是将可复用 UI 所需的所有内容都集中在一个地方(rust 文件),同时在必要时保持底层技术的可访问性。
截至今日,WebAssembly 对于 DOM 交互而言尚未具备完整的功能。这意味着即使在 Yew 中,我们有时也依赖于调用 JavaScript。以下是所涉及库的概述。
wasm-bindgen
wasm-bindgen
是一个库和工具,用于在 JavaScript 和 Rust 函数之间建立调用。
web-sys
web-sys
crate 为 Web API 提供绑定,并允许我们以生锈且安全的方式编写 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");