Comments (6)
I'm looking forward to this. My use case is: I'm writing a game with the unrust webgl engine, and want to have a HUD GUI overlay based on html with yew (also a chat text field etc.) so I need two way communication between the yew app and the wasm game..
What would be the best way to do this? Using wasm imported/exported functions for rpc?
from yew.
Missing label:
- feature
from yew.
@hamza1311 , if this is not been solved, can you please assign this ticket to me?
Loosely related to #135
from yew.
Don't portals solve this? I'm not sure what the solution here is. Do you have anything in mind, @tieje?
CC: @WorldSEnder
from yew.
Don't portals solve this? I'm not sure what the solution here is. Do you have anything in mind, @tieje?
CC: @WorldSEnder
I don't know. Sorry, but I am still yet a learner.
from yew.
Portals can get you there, to some degree. You could for example render something akin to
// Create your third-party component somehow, probably by calling to JS
// Should not be in the view function directly, but in use_state or the component's create
let third_party_element: web_sys::Element = todo!();
// Now, in the view function you can use a portal to let yew handle the children of that element
// These could be for example slotted
let portal_to_children = yew::html::create_portal(html! {
<>
<p slot="some-slot">{"I will be rendered as a child of third_party_element"}</p>
<p slot="some-other-slot">{"E.g. 'slot' can be used with web components"}</p>
</>
}, third_party_element.clone());
// Render both the original element, and the portal
html! {
<>
{portal_to_children}
{VDom::VRef(third_party_element.into())}
</>
}
Note: I haven't thought about event propagation/bubbling with the above, but I think it should work fine.
from yew.
Related Issues (20)
- onwheel handler panics at installation with BorrowError on mobile HOT 5
- Align IString/AttrValue with Cow of element
- Bootstrap scrollspy support
- Yew 0.21.0 build error HOT 2
- failed: invalid value type 'Simd128' HOT 2
- indefinite `clone` help message HOT 1
- Neovim editor setup
- yew-router example does not compile HOT 5
- Yew 0.21 and Prokio 0.1.0 use different versions of Gloo
- Can't use `Self` in generic when deriving `Properties`
- Tutorial proxy-backend returning `index.html` not json? HOT 5
- use_effect lacks documentation HOT 2
- Tutorial uses String not AttrValue
- File based Routing HOT 1
- Caution about navigator callbacks in functional components is confusing
- Yew Agent documentation
- When passing `Classes` in `html!`, component props don't need `.clone()`, but element props do HOT 1
- [Feature]: Provide a `Default` trait implementation for the `UseStateHandle` struct HOT 2
- Japanese documents are out of date
- Context with Rc<Refcell<T>> reducer type has unexpected behavior HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yew.