【发布时间】:2016-02-24 12:09:14
【问题描述】:
我有一些使用 jQuery 实现动画效果的自定义指令(angular 的内置 ngShow/ngHide 等功能实用,但不美观)。我想我记得在文档中某处读到 Angular 有自己的 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),只是检索有关它的信息,所以我不认为我对 Angular 犯了罪。
【问题讨论】:
标签: javascript jquery-selectors angularjs angularjs-directive