这是我的基本情况。对于项目列表(摘要视图),我想显示在同一页面上单击的项目的详细信息视图。
我拿了这个 jsfiddle示例并将其转换为这个jsfiddle。如果您查看该行为,它确实第一次起作用,但并不一致。
也许有人可以帮助我,或者提出更好的方法。我想有一个不同的控制器来管理列表和一个不同的控制器来处理详细视图。
转换示例的一种方法(假设您要使用 ngSwitch)是:
<ul ng-controller="ListController">
<li ng-repeat="item in items" ng-controller="ItemController">
<div ng-click="open(item)">{{item.content}}</div>
</li>
<hr>
<ng-switch on="anyItemOpen()">
<div ng-switch-when="true">
<div ng-controller="ItemController">
{{opened.name}}: overlay: tweet, share, pin
</div>
<a ng-click="close()">close</a>
</div>
</ng-switch>
</ul>
这里是工作 jsFiddle:http: //jsfiddle.net/pkozlowski_opensource/sJdzt/4/
您的 jsFiddle 不起作用,因为您试图引用item
在 ngRepeat 范围内创建的引用(因此在 ngRepeat 之外不可用)。