the yew :: renderer имеет метод with_root (element) . В качестве доказательства концепции я смог добавить виджет на веб-страницу, не заменив всю страницу моим приложением ржавчины, например, так: < /p>
Код: Выделить всё
use yew::prelude::*;
#[function_component(App)]
fn app() -> Html {
html! {
{"Hello from Rust!"}
}
}
fn main() {
let document = web_sys::window().unwrap().document().unwrap();
let element = document.get_element_by_id("app_root").unwrap();
yew::Renderer::::new().with_root(element).render();
}
< /code>
Before Yew widget...
After Yew widget...
До сих пор, я думаю, что самый простой подход: < /p>
[*] Отключить хеширование имени файла в багажнике, чтобы wasm Компания имеет предсказуемое имя; < /li>
Включите эти файлы в верхней части каждой из моих страниц MVC; < /li>
в код Rust, экспортируйте все Виджеты как функции, такие как fn foo_widget (el: & web_sys :: element) , и каждая из этих функций настроит yew :: renderer , указывающий на заданный элемент;
[*] В CSHTML, когда я хотел бы использовать один из виджетов ржавчины, я бы создал элемент для заполнения, а затем передать его экспортируемой функции. Если виджет нужны статические данные, он передается в виде значений, и если ему нужны динамические данные или для связи с остальной частью приложения, оно получает функции JS, чтобы вызвать необходимое поведение.
Подойдет ли это работать правильно, и есть ли какие -либо официальные рекомендации по этому вопросу? < /p>
Подробнее здесь: https://stackoverflow.com/questions/794 ... pplication
Мобильная версия