这就是我想要做的事情:
ng-include=" 'views/directives/list_elements/'+ list.type.object | listobjects +'.html' "
没有过滤器,它可以正常工作
答案 0 :(得分:1)
过滤器在表达式中工作,而ng-include
赋值是一个字符串。这就是为什么,您可以ng-init
您想要成为特定控制器范围内URL的一部分,然后使用它。
<script>
function Ctrl($scope) {
$scope.list = [['a', 'b'], ['c', 'd']];
}
</script>
<div ng-controller="Ctrl">
<div ng-repeat="innerList in list" ng-init="outerIndex = $index">
<div ng-repeat="value in innerList" ng-init="innerIndex = $index">
<span class="example-init">list[ {{outerIndex}} ][ {{innerIndex}} ] = {{value}};</span>
</div>
</div>
</div>
对于您的情况,您可以执行以下操作:
ng-init="url_part=list.type.object | listobjects +'.html'"
然后在您的网址中使用它。
'views/directives/list_elements/'+url_part
否则,您也可以在控制器中使用相同的过滤器。