我目前正在与Aurelia一起构建一个仪表板,并且对这个框架非常陌生。在仪表板中,我希望列表中包含不同类型的小面板。
我该怎么做?我是否必须在嵌入视图中包含一个开关来确定要渲染的视图?如果是这样我怎么能这样做?
任何指针都表示赞赏! :)
答案 0 :(得分:6)
使用<compose>
可能值得。假设您的主仪表板组件正在引入其他组件:
<强> dashboard.html 强>
<template>
<Component-A />
<Component-B />
<Component-C />
<Component-D />
</template>
我们可以使用<compose>
以及元数据数组重写这些组件,而不是明确列出这些组件:
<强> dashboard.html 强>
<template>
<div repeat.for=”component in components”>
<compose view-model=”${component.viewModel}” />
</div>
</template>
组件数组
export const components = [
{viewModel: ‘component-a.js’ },
{viewModel: ‘component-b.js’ },
{viewModel: ‘component-c.js’ },
{viewModel: ‘component-d.js’ }
];
这是<compose>
背后的一般概念:动态视图生成。但是这里有一些额外的资源: