0

これは私がやろうとしていることです:

ng-include=" 'views/directives/list_elements/'+ list.type.object | listobjects +'.html' "

フィルターなしで正常に動作します

4

1 に答える 1

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'"

URL で使用します。

'views/directives/list_elements/'+url_part

それ以外の場合は、コントローラー内でこの同じフィルターを使用することもできます。

于 2014-05-12T07:25:55.240 に答える