static_method_of = Blah

static_method_of 属性允许指定导入的函数是给定的导入 JavaScript 类的静态方法。 例如,要绑定到 JavaScript 的 Date.now() 静态方法,可以使用此属性


# #![allow(unused_variables)]
#fn main() {
#[wasm_bindgen]
extern "C" {
    type Date;

    #[wasm_bindgen(static_method_of = Date)]
    pub fn now() -> f64;
}
#}

now 函数也成为 Rust 绑定中导入类型的静态方法


# #![allow(unused_variables)]
#fn main() {
let instant = Date::now();
#}

这类似于 js_namespace 属性,但从 Rust 内部的使用方式不同,因为该方法也成为导入类型的静态方法。 此外,此属性还指定调用该方法时 this 参数应为 JS 类,例如始终作为 Date.now() 调用,而不是 const x = Date.now; x()