我很清楚DOM操作属于指令而不是控制器,但我很想知道简单地滚动到一个元素(使用jQuery的scrollTop
)是否会被视为DOM操作和/或应该是转入指令。
我的页面是动态生成的(使用Grails),并在页面的一角放置一个小的引导下拉列表,以方便滚动到冗长文档中的位置:
<a ng-click="scrollTo('question${ subQuestion.id}')">
${}
在发送给客户端时会被替换为数字。
我的控制器中的scrollTo
功能非常简单且有效:
$scope.scrollTo = function(id) {
$('html, body').animate({
scrollTop: $('#' + id).offset().top - 50
}, 1000);
};
我正在使用ui-router,之前使用$uiViewScroll
滚动到该元素;这似乎更符合角度方式,但由于导航栏我需要50px偏移,我更喜欢动画(两者似乎都不是$uiViewScroll
的选项)。
答案 0 :(得分:1)
$
。