我正在尝试动态地包含一些部分内容。我意识到可能有其他方法可以做到这一点,但我想了解为什么这种方式不起作用。
我有一个控制器定义如下:
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>
但是,如果我尝试使用ng-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>
再一次,在这个例子中迭代遍历一个数组并且只使用$ index并没有多大意义,但这是令我困惑的基础范围断开。有人可以建议我吗?
答案 0 :(得分:2)
ngClick
期待一个角度表达。你不应该在那里使用插值。它应该只是:
<a ng-click="pob.pageidx=$index">{{$index}}</a>