我有一个使用jQuery的动画效果(角的内置ngShow / ngHide之类的功能,而不是漂亮的)一些自定义指令。 我想我还记得在文档中读书的地方,角度都有自己的DOM选择器(类似angular.export()
或angular.select()
我应该使用,而不是$(SELECTOR)
; 但是我现在不能找到它。
我在做这样的事情:
//view
<div scroll-to="element"> //`element` is set via ng-click
…
</div>
//directive
link: function(scope, elm, attrs)
{
scope.$watch(attrs.scrollTo, function scrollToAction(newValue,oldValue)
{
if ( newValue !== oldValue )
{
elm.animate({
scrollTop:
$('#'+newValue).offset().top //replace jquery selector with angular's
- elm.offset().top
+ elm.scrollTop()
});
}
});
}
我真的不操作$('#'+newValue)
只是检索有关它的信息,所以我不认为我犯对角的罪行。