我在角度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
答案 0 :(得分:46)
我想,如果Angular在运行时附加了一个新的指令,它就不会观察元素。 为了使它工作,你应该在添加类后重新编译元素 $compile
像
这样的东西element.addClass('myDraggable');
$compile(element)(scope);
问候
答案 1 :(得分:9)
您可以使用angular.element功能。它与jquery元素$(element)
基本相同只是做:
angular.element(element).addClass('myDraggable');