AngularJS动态更改ng-repeat指令的模板

ada*_*amK 4 angularjs angularjs-ng-repeat

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

我想要的是,在选择ng-repeat表/列表中的元素后,只切换到所选元素的显示.但我希望保持ng-repeat结构(过滤器,分页)到位,因为我希望能够一次一个地浏览每个元素(左和右说),并且在任何时候返回到表/列表及其结构地点.

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

我希望我解释得那么好,谢谢你提前.

Bre*_*ody 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>
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

UPDATE

在评论中,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>
Run Code Online (Sandbox Code Playgroud)

还有一个完整的Plunker演示.