4

是否可以更改模板ng-repeat用于动态呈现每个元素,例如选择元素从表/列表视图切换到仅显示该元素的替代视图?

我想要的是,在选择ng-repeat表/列表中的元素后,切换到仅显示所选元素。但我想保持ng-repeat结构(过滤器,分页)就位,因为我希望能够一次导航一个元素(左右说)并在任何时候返回到表/列表,其结构在地方。

选择一个元素后,使用新模板切换到新路由可能会更容易,但是我如何才能仅通过过滤的项目保持导航并恢复到ng-repeat返回该路由时的已保存状态?

我希望我解释得足够好,提前谢谢你。

4

1 回答 1

10

您可以在ng-switch指令中使用该ng-repeat指令。这是一个基本示例:

<ul>
  <li ng-repeat="color in colors" ng-switch on="color.value" >
    <span ng-switch-when="orange" style="background-color:{{color.value}};">{{color.name}}</span>
    <span ng-switch-default>{{color.name}}</span>
  </li>
</ul>

完整的 jsFiddle

更新

Ninja Pants 在评论中澄清了最终目标是使用ng-include包含模板。这是显示如何执行此操作的更新片段:

<ul>
  <li ng-repeat="color in colors" ng-switch on="color.value" >
    <span ng-switch-when="orange" ng-include src="'template.html'"></span>
    <span ng-switch-when="indigo" ng-include src="'template2.html'"></span>
    <span ng-switch-default>{{color.name}}</span>
  </li>
</ul>

以及完整的 Plunker 演示

于 2013-07-29T22:18:07.450 回答