0

我正試圖動態地包含一些partials。我意識到可能有其他方式來做到這一點,但我想明白爲什麼這種方式不起作用。AngularJS:在ng-repeat中的作用域

我定義了一個控制器,像這樣:

auditApp.controllerModule.controller('LayoutCtrl', ['$scope', 
    function (scope) { 
     scope.index1={ 
      pages:[ 
       'views/subpage1.html', 
       'views/subpage2.html', 
       'views/subpage3.html', 
       'views/subpage4.html' 
     ]}; 
    } 
]); 

如果我執行我的代碼靜態版本,一切正常:

<div ng-controller="LayoutCtrl"> 
    <div class="row" ng-init="pob={pageidx:0}"> 
     <div class="span1"> 
      <ul class="nav nav-tabs nav-stacked"> 
       <li><a ng-click="pob.pageidx=0">0</a></li> 
       <li><a ng-click="pob.pageidx=1">1</a></li> 
       <li><a ng-click="pob.pageidx=2">2</a></li> 
       <li><a ng-click="pob.pageidx=3">3</a></li> 
      </ul> 
     </div> 
     <div class="span11"> 
      <ng-include src="index1.pages[pob.pageidx]"></ng-include> 
     </div> 
    </div> 
</div> 

但是,如果我嘗試使用複製此納克-repeat,它靜靜地失敗:

<div ng-controller="LayoutCtrl"> 
    <div class="row" ng-init="pob={pageidx:0}"> 
     <div class="span1"> 
      <ul class="nav nav-tabs nav-stacked"> 
       <li ng-repeat="n in index1.pages"><a ng-click="pob.pageidx={{$index}}" >{{$index}}</a></li> 
      </ul> 
     </div> 
     <div class="span11"> 
      <ng-include src="index1.pages[pob.pageidx]"></ng-include> 
     </div> 
    </div> 
</div> 

同樣,通過陣列迭代,只是使用$索引在這個例子中並沒有太多意義,但是它是令我困惑的基礎範圍斷開。任何人都可以提醒我嗎?

回答