画像ギャラリー スライダー用の長い 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>
...