私はカスタムディレクティブを作成しています。メソッド、オブジェクト、文字列などを渡して、これについてかなり多くの例を行ってきましたが、今ではng-repeatのコンテンツをパラメータとして渡す必要があります。詳細は次のとおりです。ng-repeatはパラメータとして渡すことができません。
私の指示のJavascriptファイル。このように、それにはfRepeatがあり、これはng-repeatの内容を外側のスコープからディレクティブに渡します。
return {
restrict: 'E',
replace: true,
scope: {
fRepeat: '@',
fClick: '&'
},
transclude: true,
templateUrl: '/directives/f-list_jsp'
};
マイカスタムディレクティブのレイアウト:
<div class="dataTable">
<ul class="list-unstyled">
<li ng-repeat="{{fRepeat}}" ng-click="fClick">
<div ng-transclude></div>
</li>
</ul>
</div>
そして、私は任意のページからディレクティブを使用する方法、これは次のとおりです。
:私は常にエラーを取得するしかしExpected expression in form of 'item in collection[ track by id]' but got 'fRepeat'.
<f-list f-repeat="fund in funds track by $index" f-click="fCtrl.showDetails($index)">
<i class="fa fa-top fColor{{fund.risk}}"></i> {{fund.title}}
</f-list>
私はthiを通過しようとしましたどんな場合でもJavascriptファイルに fRepeat: '&'
またはfRepeat: '='
として表示されますが、使用されません。それを文字列として渡すことはできないのでしょうか、それはまったく可能ではありませんか?
' '' fRepeatの値でのポイントは何ですか? 'geRepeat'はどこから来たのですか? 'ng-repeat'は** fixed **式を期待し、' {{fRepeat}} 'は' ng-Repeat'の後に評価されるので注意してください。 – zeroflagL
上記のzeroflagLと同様に、ng-repeatは動的表現を受け取ることができません。しかし、私はあなたが 'collection'をパラメータとして渡すことができると確信しています。それはあなたのオプションですか? – AdelaN
@zeroflagLこれは私が編集したものです。私は '' 'の有無にかかわらず、すべての場合を試みました。 –