2016-05-29 14 views
0

次のようなグローバル変数があります。AngularJSアクセスグローバル変数ディレクティブ

var Lightbox = {}; 
............ 
Lightbox.openModal = function (newImages, newIndex, modalParams) { 
............... 
} 

この変数には、次のような指示の下でアクセスしたいと思います。

app.directive('productBuyers', ['Product', function(Product) { 

    return { 

     restrict : 'E', 

     scope : {}, 

     template : '<div>' + 
      '<p class="product-buyers-f bold" ng-show="photos.length">Others:</p>' + 
      '< 
      '<div class="product-buyer square" ng-click="openLightboxModal($index)" ng-repeat="photo in photos | limitTo:3" ng-style="{\'background-image\':\'url(\' + photo.image + \')\'}"></div>' + 
      '<div class="clear"></div>' + 
      '</div>' + 
      '</div>', 

     link : function($scope, element, attrs) { 

      $scope.photos = []; 

      function getImages() { 

      } 
      $scope.openLightboxModal = function (index) { 
       Lightbox.openModal($scope.photos, index); 
       }; 
      getImages(); 

     } 

    } 

}]); 

"$ window"をディレクティブパラメータに渡してスコープを使用してみましたが、動作しません。未定義の「ライトボックス」を表示しています。

+0

window.Lightbox.openModal = function(...)はなぜ書きましたの?あなたのコードに構文エラーがあるように見えます。あなたがグローバルを持っているなら、それはエラーを投げるべきではありません。これらのスクリプトの実行順序は? –

+0

**ライトボックスは事実ではありません。私はちょうどstackoverflowエディタから "B"をクリックしました。私のLightboxスクリプトはproductBuyersディレクティブの前に実行されています。 –

答えて

0

`** Lightbox`をwindow.Lightbox試してみても

関連する問題