我得到了在某些条件下我想要替换的组件列表:
导航组件列表:
import {navigationDefaultComponent} from '';
import {navigationSmoothComponent} from '';
import {navigationMobileComponent} from '';
navigations: [
{component: navigationDefaultComponent},
{component: navigationSmoothComponent},
{component: navigationMobileComponent},
]
我有一个来自API和tel的对象,我应该展示什么组件
const X = {
name: 'John Smith',
navigation: 'navigationDefaultComponent'
}
我这样做了,因为我无法将组件存储在api中 . API无法返回给我一个组件 . 如果有办法请告诉我 . 所以我的目标是有一个const将通过导航对象并基于x.navigation字符串将映射并返回我的组件 .
const nav = ????
1 回答
嗯,这是一个典型的情况 . 您需要使一个组件听取**路由然后使用动态组件加载 . https://angular.io/guide/dynamic-component-loader
您可以创建一个包含字符串和Component的数组
请注意,Component1,Component2是对Component的直接引用,而不是它们的字符串表示 .
创建一个指令,包含在AppComponent中
在模板中包含该指令
在ts文件中获取对指令的引用
现在,在从API获得响应后加载所需的组件
我希望这能解决你的问题......