在我的角度应用程序中,我有几个面板具有共享结构,相同的 html。
在面板内部,内容和行为发生了变化,基本上每个都是一个单独的指令,我们称它们为面板内容。
这是我认为最佳的解决方案,但我有一些架构上的疑问。
由于我有指令(其中包含真集):
<panel></panel>
它的模板如下所示:
<div>
Content
<ng-transclude></ng-transclude>
</div>
我必须重复面板
<ul>
<li ng-repeat="panel in panels">
<panel>
<panel-content></panel-content>
</panel>
</li>
</ul
这一切都很好,但是在<panel-content>
我应该展示的每次迭代中“选择”的合理好方法是什么?
可以说我有一个panel.id
我可以使用的。
我注意到我可以通过多种方式实现它,我可以<panel-content>
使用面板 ID 在视图内进行 ng-switch,我可以设置 templateUrl 具有动态部分并链接到不同的 URL,具体取决于panel.id
.
但出于某种原因,我确信我错过了一些更好更直接的东西?
请不要说这个架构不是一成不变的,如果有其他结构更适合我的需求,请告诉我。
那么,问题又来了,我该如何选择?或者更确切地说,谁负责选择<panel-content>
应该显示的内容。