我正在尝试在ng-repeat中分配一个变量(成功),然后在ng-repeat(失败)之外使用该值,如下所示:
<div class="stocksNav col s1">
<div class="myStockList" ng-repeat="stocksInPortfolio in ctrl.myPortfolio.stocksInPortfolio">
<ul>
<li style="position: relative"><a href ng-click="ctrl.tab = stocksInPortfolio.stock._id">{{stocksInPortfolio.stock.name | limitTo:10}}</a></li>
</ul>
<div class="myStockView" ng-show="ctrl.tab === stocksInPortfolio.stock._id">
<div class="{ active:ctrl.tab === stocksInPortfolio.stock._id }">
</div>
</div>
</div>
</div>
<div ng-include="'/app/dashboard/partials/myIndividualStock.html'"></div>
部分想要调用ctrl。TAB来使用它的click事件分配的值,这样,如果我在ng-repeat函数的任何其他实例上单击ctrl。TAB变量将重新赋值,但ctrl。TAB赋值在ng-repeatdiv之外不会持续存在。有什么想法吗?
ng-repeat
指令(和许多其他指令一样)创建了一个新的作用域,为了访问父级的作用域变量,它需要是一个对象。换句话说,在你的控制器中初始化一个对象$scope.something = {}
,而不是ctrl.tab
,然后在你的模板中使用ctrl.something.tab
(用适合你的应用程序的名称替换something
)。