Методы для встраивания компонентов Yew в существующее веб -приложение?Javascript

Форум по Javascript
Ответить
Anonymous
 Методы для встраивания компонентов Yew в существующее веб -приложение?

Сообщение Anonymous »

У меня есть веб -приложение, встроенное в MVC ASP.NET, и я хотел бы начать мигрировать его на лидере. Все учебники в Интернете, кажется, связаны с созданием спа -приложения с нуля, но в моем приложении много разных частей, и я не могу заменить их на один спа -салон. < /P>
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...


С помощью багажника это создается в одном файле index.html с файлом wasm и js рядом с ним. Тем не менее, теперь я хотел бы встроить этот виджет в мое приложение ASP.NET, и багажник, похоже, не позволяет мне создать несколько различных файлов HTML (которые я мог бы затем внедрить в виде отдельных страниц или ссылки на страницах CSHTML Razor). < /p>
До сих пор, я думаю, что самый простой подход: < /p>

[*] Отключить хеширование имени файла в багажнике, чтобы wasm Компания имеет предсказуемое имя; < /li>
Включите эти файлы в верхней части каждой из моих страниц MVC; < /li>
в код Rust, экспортируйте все Виджеты как функции, такие как fn foo_widget (el: & web_sys :: element) , и каждая из этих функций настроит yew :: renderer , указывающий на заданный элемент;
[*] В CSHTML, когда я хотел бы использовать один из виджетов ржавчины, я бы создал элемент для заполнения, а затем передать его экспортируемой функции. Если виджет нужны статические данные, он передается в виде значений, и если ему нужны динамические данные или для связи с остальной частью приложения, оно получает функции JS, чтобы вызвать необходимое поведение.

Подойдет ли это работать правильно, и есть ли какие -либо официальные рекомендации по этому вопросу? < /p>

Подробнее здесь: https://stackoverflow.com/questions/794 ... pplication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»