Используя element.AddClass, чтобы добавить директиву angular js, которая ограничивается действительностью как "класс",
Я сделал директиву в angular js, ограничив ее как класс, и эта директива делает мой элемент перетаскиваемым.
На mousehover я хочу сделать addClass и добавить эту директиву, которая предположительно является классом, но это не дает желаемого результата, я что-то пропустил? ниже - это то, что я делаю
module.directive('myDraggable', function ($document) {
var directiveObject= {
restrict:'AC',
//logic of dragging
}
return directiveObject;
});
Я пытаюсь сделать
element.addClass('myDraggable'); // but this fails! pls help
Ответы
Ответ 1
Я думаю, Angular не наблюдает за элементами, если они получают новую директиву, прикрепленную во время выполнения.
Чтобы заставить его работать, вы должны перекомпилировать элемент после добавления класса с помощью
$compile.
Что-то вроде
element.addClass('myDraggable');
$compile(element)(scope);
приветствует
Ответ 2
Вы можете использовать функцию angular.element. Он в основном такой же, как элемент jquery $(element)
Просто выполните:
angular.element(элемент).addClass( 'myDraggable');