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();
}
}
}]);
我嘗試了通過「$窗口」傳遞給指令參數,也使用範圍,但它不工作。它顯示未定義的「燈箱」。
爲什麼你寫的'** Lightbox'?看起來你的代碼中有語法錯誤。如果你有一個全球性的,它不應該拋出錯誤。這些腳本的執行順序是什麼? –
**燈箱不是事實。我只是從stackoverflow編輯器中點擊「B」。我的Lightbox腳本在productBuyers指令之前運行。 –