typescript - Angular 2 loading unknown components -


i new angular 2 , wondering how solve problem more elegant. unfortunately not find solution problem.

requirement

i have tree many nodes. each node can provide own ui (template + data). when loading tree don't know nodes ui. have ask every node @ runtime. node decide ui , data provide.

the old way

without angular 2, when user clicks on node ask webserver send me html of node. webserver ask node provide html. node maybe load template, put data in , send browser - done.

my try angular 2

currently, have components (created typescript) , every node can decide component show. loading nodes component when user clicks on node using componentresolver. asking webserver , webserver asking node. node knows "transpiled components js file" has read hard disk sending browser. every node can provide own component.

now struggling problems:

  • i don't want node has modify transpiled js. easy node provide data. node write data in components template. of course, don't idea. how put nodes data component?

  • the component should load data via service (right?). how component/service know node should ask data? since node can use component, component cannot have static url provides data. @ least nodes id or path should added url webserver knows node ask data. again easy write nodes url transpiled js replacing strings. again, think that's not nice.

  • another thing uncool need know components name load using componentresolver. don't want know ui node provides when or before loading it. each node can write component name in json describes tree. when user clicks on node, know path , components name should loaded.

  • the solution came until tree set nodes id or path in loaded component (by using componentresolver). components need have same "interface". component ask webserver data, webserver ask node , node provide json data.

i wondering, how bad solution is? think not thinking in angular 2 way. nice way realize in angular 2?

i have been trying sorts of different things in last few days , best (and use loosely) have come create angular component called iframecomponentloader, iframe, , set src url has web page dynamic component load. can enforce interface through iframe attributes.

i have been playing posting uid , parameter set url , having uid put parameter in src. not enjoying of these solutions, can't load specific in generic app.


Comments

Popular posts from this blog

sequelize.js - Sequelize group by with association includes id -

android - Robolectric "INTERNET permission is required" -

java - Android raising EPERM (Operation not permitted) when attempting to send UDP packet after network connection -