これは私がやろうとしていることです:
ng-include=" 'views/directives/list_elements/'+ list.type.object | listobjects +'.html' "
フィルターなしで正常に動作します
これは私がやろうとしていることです:
ng-include=" 'views/directives/list_elements/'+ list.type.object | listobjects +'.html' "
フィルターなしで正常に動作します
フィルターは式の中で機能しますが、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
それ以外の場合は、コントローラー内でこの同じフィルターを使用することもできます。