J'ai un widget dans la page qui montre google chart pour certaines données avec quelques filtres pour filtrer les données du graphique et avec une icône d'impression pour l'imprimer.développez élément de page dans un modal
Je veux ajouter un bouton pour ouvrir ce même widget avec le graphique, les filtres et les fonctionnalités d'impression fonctionnant dans un modal avec une vue d'écran plus grande. parce que le widget est petit dans la page.
J'ai essayé d'ajouter un bouton, et ajouté une fonction pour ce bouton dans la fonction de lien pour ouvrir element.html()
dans un modal, le html a fonctionné mais le problème est que les filtres et l'impression ne sont pas fonctionnels.
Qu'est-ce qui ne va pas avec element.html()
? Je suis fatigué d'utiliser $ compile mais cela m'a causé beaucoup d'erreurs. Que puis-je utiliser?
app.directive("widget", function ($rootScope) {
return {
restrict: "EA",
scope: {
title: '=',
options: '='
},
transclude: true,
templateUrl: "widget.html",
link: function(scope, element, attrs, ctrl, transclude) {
scope.print = function() {....}
scope.filterChart = function() {....}
scope.expand = function() {
$rootScope.openModal("expand Modal", element.html(), {});
}
}
}
Notez que $ rootScope.openModal est juste un service d'emballage qui utilise le service modal $, prend un titre et un corps
@MaximShoustin fait – sisimh
Nous ne pouvons pas dire quel est le problème avec votre utilisation de 'element.html()' lorsque vous n'incluez pas ce code. En général, les directives AngularJS doivent être compilées avec le service $ compile. Ils ne fonctionneront pas s'ils sont simplement ajoutés avec 'element.html()'. Si vous obtenez des erreurs en utilisant le service $ compile, nous devons voir ce code et le texte complet de ces messages d'erreur. – georgeawg