J'ai fait une directive en angular js l'a restreint pour agir comme une classe et cette directive rend mon élément glissable.
Sur mousehover, je veux faire addClass et ajouter cette directive qui est censée être une classe, mais cela ne donne pas le résultat souhaité, ai-je raté quelque chose? voici ce que je fais
module.directive('myDraggable', function ($document) {
var directiveObject= {
restrict:'AC',
//logic of dragging
}
return directiveObject;
});
j'essaye de faire
element.addClass('myDraggable'); // but this fails! pls help
Je suppose que Angular n'observe pas les éléments, s'ils obtiennent une nouvelle directive attachée au moment de l'exécution. Pour le faire fonctionner, vous devez recompiler l'élément après avoir ajouté la classe avec $ compile .
Quelque chose comme
element.addClass('myDraggable');
$compile(element)(scope);
cordialement
Vous pouvez utiliser la fonction angular.element . C'est fondamentalement la même chose qu'un élément jquery $ (element)
Faites juste:
angular.element(element).addClass('myDraggable');