0

画像ギャラリー スライダー用の長い jQuery 関数があります。私は約5つのディレクティブを持っています(すべて同じスライダーを異なる写真で使用しています)。同じ jQuery コードを 5 つのコントローラーすべてにコピー ペーストしたくなかったので、ファクトリを使用して実行しました。jQuery コードをファクトリーに入れ、各コントローラーでファクトリーを呼び出しました。機能していませんが、理由がわかりません。誰か知ってる?ありがとう!編集: Jquery は角度付きで動作するように含まれています! 問題は jQuery 自体ではなく、ファクトリです。すべてのコントローラーで同じjQueryコードを何度も使用すると、機能します。工場に入れても機能せず、工場をコントローラーに入れることができます。工場:

app.factory('prodsFactory', function ($http) {
  var prodsFactory = {};
    prodsFactory.slider=function(){
       $(function(){
           ...
        })
     }
 })

最初のディレクティブ:

app.directive('picturesProject', function () {
    return {
        restrict: 'E',
        templateUrl: 'projects/shop/picturesshop.html',
        scope: {},
        controller: 'shopCtrl',
        link: function(scope){
        }
 }

})

app.controller('shopCtrl', function($scope,prodsFactory){
        return prodsFactory.slider();
});

index.html ...

<script src="projects/shop/picturesshop.directive.js"></script>

...

4

2 に答える 2