Если я создаю функцию Rust с wasm_bindgen, которая принимает HtmlCanvasElement
, как мне убедиться, что она перестала работать, когда она переходит на сторону Rust?
JavaScript:
(async () => {
const demo = await import('./pkg/demo').catch(console.error);
demo.setCanvas('Hello Element!');
})();
Rust:
use wasm_bindgen::prelude::*;
use web_sys::{console, HtmlCanvasElement};
#[wasm_bindgen]
pub fn setCanvas(canvas: &HtmlCanvasElement) {
// Why does this even get here? I didn't pass in an HtmlCanvasElement
console::log_1(&canvas);
}
Похоже, я получаю тип HtmlCanvasElement
, но если я пытаюсь использовать его как HtmlCanvasElement
, у него нет функций, потому что я передаюстрока вместо фактического элемента холста. Я хочу, чтобы он не работал, когда я его установил, а не позже, когда я попытаюсь его использовать.