1

ディレクティブでngRepeatを使用しようとしていますが、実際にはその方法がわかりません。私は閉じていますか?

Mowersは、このディレクティブが使用されるコントローラー内の配列です。

.directive('slider', function() {
return function() {
    template: '<slider><film><frame ng-repeat="mower in mowers">{{mower.series}}</frame></film></slider>';
    replace: true;
        scope: true;
    link: function postLink(scope, iElement, iAttrs) {
            // jquery to animate
        }
    }
});
4

1 に答える 1

1

はい、あなたは近くにいますが、構文はオフでした。mowersスコープに何かを割り当てる必要があります。

.directive('slider', function() {
return {
    restrict: 'E', //to an element.
    template: '<film><frame ng-repeat="mower in mowers">{{mower.series}}</frame></film>',
    replace: true,
    scope: true, // creates a new child scope that prototypically inherits
    link: function postLink(scope, iElement, iAttrs) {
            scope.mowers = [
               { series: 1 },
               { series: 2 },
               { series: 3 }
            ];
        }
    }
});

また、それ自体を参照する必要はありません<slider>

上記のコードは、とのディレクティブを作成したことも前提としてい<film>ます<frame>

最後に、芝刈り機の配列を外部スコープから渡したい場合は、スコープ設定を次のように変更します。

scope: {
   mowers: '='
}

そして、次のように設定できます。

<slider mowers="myMowers"></slider>

ここで、myMowersはコントローラーまたは親ディレクティブのスコープの変数です。

それがお役に立てば幸いです。

于 2013-02-08T18:15:10.380 に答える