我正在研究我的第一个角度指令,并且仍然围绕这些概念以及指令的可能性。由于我一直在研究解决这个问题的最佳方法,我无法确定一个解决我想要做的事情的例子,所以我想请求专家提供一些帮助。
我有一组对象,它们是三种类型之一。
我想使用ng-repeat指令迭代这个数组并在页面上显示对象。
每个对象类型都有一个与之关联的不同视图,因为每个对象共享一些属性,但也具有唯一属性。
我想设置一个指令,根据目标类型显示正确的视图。
因此逻辑将起作用如下:
<div ng-repeat="item in dataset">
<the-smart-directive>item</the-smart-directive>
</div>
一个想法是有一个指令,我根据对象类型确定templateUrl,然后为每个对象都有一个唯一的模板。
另一个想法是拥有一个父指令,然后是另外三个指令(每个对象类型一个),而父指令会插入正确的对象类型指令(这个想法似乎是更好的方法,但我'我不知道如何实际实现这个想法。)
我非常乐意帮助您了解解决此问题的最佳方法以及如何实施。如果你能提供一些很棒的示例代码,让我开始走上正确的道路。
感谢您的帮助!
答案 0 :(得分:3)
我们使用它的方式是在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>