Изображения продуктов появляются на многих страницах моего приложения, и я хотел бы разработать директиву, чтобы показать Модаль, когда посетитель нажимает любое изображение продукта, независимо от того, где он находится в моем приложении.Как сделать угловую директиву, которая вызывает функцию в конкретном контроллере
У меня есть контроллер Root, охватывающий всю моя страницу из моего приложения ...
<section class="container" ng-controller="RootController">
// Header
// Body
// Footer
</section>
Я хотел бы поставить showProductModal()
функции в моем RootController и вызвать его в моей директиве.
Наконец, я хотел бы передать в объекте парах в функцию showProductModal(product)
так, что я могу использовать его в другом месте в пределах моего RootController ...
Вот что я начал с того, что просто какой-то код стартера ...
// HTML
<img src="path/to/product/image.jpg" product>
// Directive - Product Modal
app.directive("product", function() {
return {
restrict: "A",
replace: true,
controller: 'RootController',
link: function(){
};
};
});
// Root Controller
angular.module('app').controller('RootController', ['$scope', function ($scope) {
$scope.showProductPopup = function(item) {
$scope.product = item;
$('#productModal').modal('show');
};
}]);
Что будет показывать модальное окно? Только изображение продукта или больше? Если больше, то откуда берутся эти данные? Вы будете кодировать его в HTML, или он будет существовать в массиве где-нибудь? –