Angular vs-repeat触发滚动事件直到击中底部(有时是顶部)

时间:2017-03-02 17:04:05

标签: angularjs

我有几个包含可变大小的对象集合的页面,其中一个似乎每次vs-repeat完成时都会复制向下滚动事件并一直调用$ digest直到它到达底部。重复声明非常讨厌。

<div vs-repeat class="code-window" ng-init="dgnIdx = 0;">
    <div ng-repeat="dgn in codes = (displayDiagnosisCodes|codeLevel:'displayDiagnosis':hideAnswered|secondaryOrDo|codeSearch:diagnosisFilter) track by $index"
         ng-init="$parentIndex = $index;" style="overflow: hidden;" class="code-row"
         ng-class="{'active':$parent.dgnIdx==$index, 'child-row': dgn .role=='diagnosis', 'open': (dgn |codeChecked:DISPLAY_EXPAND)}">
        <div ng-repeat="choice in dgn ChoiceColumns track by $index"
            ng-click="setChoice(dgn , choice.value)"
             data-hotkey="{{$parent.dgnIdx==$parentIndex&&(''+($index+1))||''}}"
            ng-class="{'radio-col':true,'even': $even}">
            <input name="{{dgn .role+':'+dgn .id}}"/>
        </div>
        <div ng-bind="dgn.code"></div>
        <div ng-bind="dgn.title"></div>
    </div>
<div>

我还有一些其他页面遵循非常相似的模式,但不要分享这种粗糙的滚动行为。

1 个答案:

答案 0 :(得分:0)

发现它是关于css功能的Chrome问题,该功能允许锁定元素,而其他功能则添加到集合中。

添加&#34; overflow-anchor:none;&#34;到父元素修复它。

https://github.com/kamilkp/angular-vs-repeat/issues/156