问题标签 [yew]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
generics - 如何泛化 Yew Web 请求
我试图弄清楚如何从 yew 示例中使这个 Web 请求代码通用反序列化类型和枚举的变体。
据我所知,这似乎非常接近,但我在编译器之后陷入了一种循环:
与呼叫站点:
产生:
奇怪的是,如果我从参数列表中删除 error_msg 并简单地进行硬编码Msg::TagsLoadError
,它将编译但请求不会运行。♂️</p>
model-view-controller - 如何使用 Rust 和 Yew Crate 实现有状态的应用导航?
我正在尝试构建一个带有导航选项卡的应用程序,并尝试使用最佳方式为整个应用程序提供状态。目前这些选项卡是功能性的,但我正在努力实现一种方法,使用 Yew 前端单页应用程序框架通过 rust 中的状态映射和恢复选项卡导航。如何将这些选项卡及其各自的上下文部分链接到状态?
我的目标是:
使用 Rust 和 Yew crate 实现有状态的选项卡导航。
我设置了一个 toggle_tab 函数,它使用 STDweb 库通过 , 类迭代现有的tabcontent
HTML set attribute ("style", "display: none;")
。然后我根据唯一的类名进行匹配(通过函数输入并onclick
从退出的 HTML 中调用)。
从Github 上的 Yew 示例中,我知道我可能需要将存储实现为状态并将状态实现为模型。用 Yew & Rust 实现应用导航的好方法是什么?
HTML 和切换功能:
源代码
如果看到更多代码有帮助,我在这里上传了当前源代码https://github.com/robust-systems/Rust_MVC/blob/master/src/components/tabs_level_1.rs
这非常重要,非常感谢您的任何指导。
我意识到这是一个相当抽象和冗长的问题,所以如果取得任何进展,我会在这里更新。
html - Yew 错误 – 只允许一个根 html 元素
我遇到了 Yew 库的组件机制的问题。如果我在主模型的 html 宏的宏中包含任何其他 html 代码,编译器会抱怨“只允许一个根 html 元素”。
我的结构如下:
main.rs
组件/导航.rs
我怀疑 html 宏在 html 标签周围添加了一个 -tag 或整个 index.html,从而导致了“双”html 标签。但是,我怎样才能避免这种情况,或者在使用组件时我错过了什么?
c - Rust ffi + wasm (yew -> cargo web start) -> 致命错误:'math.h' 文件未找到
我目前正在使用 C 和 Rust 开发一个应用程序,当它以下列任何一种方式使用时,我都没有任何问题:
- C -> Rust -> C (swift)
- C -> Rust -> 示例(控制台 Rust)
但是当我想通过 Yew 中的 wasm 访问时,它变得越来越复杂
- C -> Rust -> Yew/WASM (cargo web start)
链接器抛出错误:缺少“math.h”
维基百科引用:https ://en.wikipedia.org/wiki/C_mathematical_functions
在 Linux 和 BSD 下,数学函数(如 中声明的)分别捆绑在数学库 libm 中。因此,如果使用这些函数中的任何一个,则必须为链接器提供指令 -lm。
虽然我添加了标志,但它并没有改变任何东西......
下面我包含了build.rs
来自我的库文件绑定 C -> Rust 的文件:
这是我在 yew (cargo web start) 中编译的错误日志
你有什么建议?
- 找到一个 math.c/math.h 文件并将其包含在我的库中 c -> rust
- 其他建议???
编辑:
我尝试了两种不起作用的方法:
- 在我的 Mac 上从 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/math.h 手动添加一个 math.h
- 在我的库的 build.rs 中添加 .include("/usr/include")
这两种方式编译我的 libswe-sys(0.1.5 和 0.1.6)
这是 wasm 的 yew 日志:
- 使用 0.1.5(手动添加 math.h)
- 0.1.6(在我的库的 build.rs 中添加 .include("/usr/include")
这是我的 yew 设置(非常小,就像一个 hello world 项目):
货运.toml
src/main.rs
和 data.json
对于 0.1.5(手动添加 math.h)源不兼容,你有兼容的吗?
我刚刚在我的 mac book 上的搜索中尝试了第一个(7 在不同路径的搜索结果中)
编辑 2:
我找到了这个 :
https://github.com/rust-lang/libc/issues/858
根据定义,wasm32-unknown-unknown 没有 libc。如果您想使用 emscripten 或 wasi,您可以使用 wasm32-unknown-emscripten 或 wasm32-wasi,这两种方法都已在 libc crate 中得到支持。
我尝试使用 emscripter (问题编译,因为我的货物中的 lib、ansi_term 库是不兼容的)和 wasi 与 wasm32-unknown-unknown 相同的问题,math.h 的问题
html - 如何使用 Wasm 和 Rust 服务多个 HTML 页面?
我正在尝试构建一个在客户端运行 wasm 的 Web 应用程序,我想知道什么是服务多个页面的好方法。我主要关心的是性能,因为我想将应用程序拆分为上下文块,而不是让一个页面包含所有内容。
我在客户端使用带有Yew 框架的 Rust,到目前为止,我只使用yew_router来处理客户端的不同路由,但它们都在同一个 HTML 页面和 Wasm 模块中工作。现在我希望能够使用单独的 Wasm 模块为不同的 HTML 页面提供服务,但我不确定如何实现这一点。我真的必须为每个页面编写一个专用的 crate 并将它们编译为单独的 Wasm 模块,以便我可以单独为它们提供服务吗?或者有什么方法可以将一个 rust crate 编译成多个 Wasm 模块?
我当前的项目结构如下所示:
我在里面运行服务器client/
,它响应index.html
任何传入的GET
请求。设置模块的index.html
链接bundle.js
。pkg/
client_bg.wasm
现在我基本上想用另一个 HTML 页面和另一个 Wasm 模块来做这件事,最好是来自client
crate 中的同一个 Yew App。
谢谢
json - 不同 Json 结构的 Yew 回调
我将 yew 与 WebsocketService 一起使用,并将 jsonrpcs 发送到后端并接收相应的答案。我很难区分有效和错误的 jsonrpc 答案。在模型实现中,我通过以下方式创建回调:
WsCallback 是带有实际响应的消息:
响应是实际的 JsonRpc 格式:
适用于有效答案,但如何处理 JsonRpc 响应的错误情况,如下所示:
我可以对 Json 结构进行某种匹配吗?作为奖励问题:是否有可能解析具有不同于字符串的结果类型的有效响应?
html-encode - 如何在 Yew 应用程序中传播 html 字符串?
假设一个 Yew 应用程序当前使用,
我怎样才能以这样的方式发出它,它没有被安全地编码为 HTML,而是由客户端呈现为 HTML 并以未编码的方式发送出去。
windows - WASM/Yew - 无法解决:在 `os` 中找不到 `unix`
在 Windows 上构建 Yew 应用程序
我正在按照
本教程在 Windows 上与火箭后端一起构建一个 yew 应用程序
(尽管本教程适用于 Linux 环境)。我正在尝试使用wasm-pack
. 我没有使用 Linux 子系统来构建应用程序,尽管我确实安装了它。
代码/配置
存储库。
我已经安装了 wasm 工具链和 cargo make:
以下是我的工具链列表:
这是我的文件夹结构:
这是rootdir\Cargo.toml
:
这是rootdir\Makefile.toml
:
这是rootdir\frontend\Cargo.toml
:
这是rootdir\frontend\Makefile.toml
:
预期结果
我希望应用程序在运行时完成构建而没有错误
cargo make
。Yew 教程
似乎表明不需要其他任何东西。
实际输出
运行cargo make
(从根目录)时出现许多错误,如下所示:
查看完整的错误列表。
这是一种工具链之类的东西吗?我怎样才能解决这个问题?
跑步rustup update
我
从运行中得到以下输出rustup update
。
现在,当我cargo make
从根目录运行时,我得到了不同的错误:
rust - 使用 Yew 框架的 Webassembly 未捕获的错误
我正在使用 Yew 来编写一个主题切换器,通过单击循环不同的主题。这是我的更新功能。它获取存储在共享状态中的当前主题,这取决于主题循环中接下来会发生什么,共享状态中的主题值被设置为它。
但是,如果共享状态中的主题 val 是“rust”并且我再次单击调用 Msg::ChangeTheme 的按钮,则主题应该设置为“light”,但我的代码会出现恐慌,并且我会在里面得到“Uncaught Error: undefined”浏览器控制台。
rust - 如何在 Yew 应用程序中创建网格和单元格(使用 Rust 程序)
紫杉应用。
我正在尝试构建一个网格和内部网格我想在 Yew 应用程序中排列单元格。
- 我想让我的网格有一个 4*4 数组
- 单元格大小为 5px 宽度和高度
- 我还需要根据我在网格上解决的方法设置单元格颜色属性吗?
- 如何从 Grid 创建 Cell ?我可以使用 Yew 提供的 create 方法吗?
请就相同的组件结构提供建议。另外如何从网格中获取单元格的属性(颜色)并更改它