大佬教程收集整理的这篇文章主要介绍了angularjs – 滚动到给定项目的角度指令,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<div id="items" > <ul class="standard-list"> <li ng-repeat="item in items" scroll-to-id="first_unread_id"> <span class="content">{{ item.content }}</span> </li> </ul> </div>
我的指令看起来像:
angular.module('ScrollToId',[]). directive('scrollToId',function () { return function (scope,element,attributes) { var id = scope.$parent[attributes["scrollToId"]]; if (id === scope.item.id) { setTimeout(function () { window.scrollTo(0,element[0].offsetTop - 100) },20); } } });
它的工作原理,但是,两个问题:
>是否有一个更好的方法使“first_unread_id”从控制器范围直接到询问范围。这似乎有点“icky”。我希望我可以通过视图直接作为一个参数w / o必须重复的li元素。
>有没有更好的方法来避免setTimeout()调用的需要?没有它,它有时工作 – 我想象由于布局的时间的差异。我理解我使用的语法是定义一个链接功能 – 但是我不清楚,如果这是一个前或后链接默认 – 如果这甚至对我的问题。
这里是这3个变化:
html:
<div id="items" > <ul class="standard-list"> <li ng-repeat="item in items" scroll-if="item.id == first_unread_id"> <span class="content">{{ item.content }}</span> </li> </ul> </div>
JS:
app.directive('scrollIf',attributes) { setTimeout(function () { if (scope.$eval(attributes.scrollIf)) { window.scrollTo(0,element[0].offsetTop - 100) } }); } });
以上是大佬教程为你收集整理的angularjs – 滚动到给定项目的角度指令全部内容,希望文章能够帮你解决angularjs – 滚动到给定项目的角度指令所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。