我正在做一个有角度的画廊,这个画廊有一个灯箱视图,当单击画廊项目时,它会显示具有深色背景的图像。
现在我有一个控制器里面的代码,它可以做到这样的技巧:
$scope.modal = function (iElement) {
var darkDiv = angular.element('<div class="modal__dark-background"></div>');
var body = angular.element(document).find('body');
var overlay = $compile(darkDiv)($scope);
body.prepend(overlay);
}
我还有一个指令可以在自定义元素中插入我的主模板:
myApp.directive('gallery', function() {
return {
restrict: 'E',
templateUrl: 'partials/gallery.template.html'
}
})
我的问题是我不知道如何制作一个具有控制器内部代码功能的指令。我想这样做是因为我认为将与 DOM 相关的代码放在控制器中从来都不是一个好主意。