创建在ng-repeat中分配的全局变量



我正在尝试在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)。

最新更新