需要一些关于如何为动态视图设置指令的指导

Need some guidance on how to set up directives for a dynamic view

我正在研究我的第一个 angular 指令,并且仍在思考这些概念以及指令的可能性。由于我一直在研究解决这个问题的最佳方法,所以我无法确定一个示例来解决我正在尝试做的事情,所以我想我会向这里的专家寻求一些帮助。

我有一组属于三种类型的对象。

我想使用 ng-repeat 指令循环访问这个数组并在页面上显示对象。

每个对象类型都有与之关联的不同视图,因为每个对象共享一些属性,但也有独特的属性。

我想设置一个根据 objective 类型显示正确视图的指令。

所以逻辑会像下面这样工作:

<div ng-repeat="item in dataset">
    <the-smart-directive>item</the-smart-directive>
</div>

一个想法是使用一个指令,我根据对象类型确定 templateUrl,然后为每个对象设置一个唯一的模板。

另一个想法是有一个父指令,然后是三个其他指令(每个对象类型一个),父指令将插入正确的对象类型指令(这个想法似乎是更好的方法,但是我不确定如何真正实现这个想法。

我希望得到一些帮助,以了解解决此问题的最佳方法以及如何实施。如果您能提供一些示例代码,那将是非常棒的,可以让我走上正确的道路。

感谢您的帮助!

我们使用它的方式是在 ng-repeat 中使用 ng-switch。

<div ng-repeat="item in dataset" ng-switch="item.type">
        <directive-one ng-switch-when="1">
        </directive-one>
        <directive-two ng-switch-when="2">
        </directive-two>
        <directive-three ng-switch-when="3">
        </directive-three>
</div>