Angularjs 在模型以角度模式更新时保留滚动位置

Angularjs 在模型以角度模式更新时保留滚动位置,angularjs,Angularjs,我有一个团队列表,用户可以将一个团队添加到团队列表中。我遇到的问题是,当我向列表中添加一个项目时,angular会重新呈现列表,并且滚动位置会重置为顶部 这是模板 <div ng-controller="scores"> <ul> <li ng-repeat="team in teams"> {{team.name}}: <button ng-click="decr(team)">-</button&g

我有一个团队列表,用户可以将一个团队添加到团队列表中。我遇到的问题是,当我向列表中添加一个项目时,angular会重新呈现列表,并且滚动位置会重置为顶部

这是模板

 <div ng-controller="scores">
  <ul>
    <li ng-repeat="team in teams">
      {{team.name}}: 
      <button ng-click="decr(team)">-</button>
      {{team.score}}
      <button ng-click="incr(team)">+</button>
    </li>
  </ul>
    <a href="#" ng-click="add()">(+)Add Team</a>
  </div>

您可以在这里看到工作示例

问题是您有
href=“#”
,它会在每次单击链接时将锚定/滚动位置重置到页面顶部

我看到两个简单的解决方案:

最简单的方法是将锚点更改为按钮。这仍然表明这是一个可单击的元素,但没有锚元素:

<button ng-click="add()">(+) Add Team</button>
和CSS:

a, a.clickable {
    color: blue;
    text-decoration: underline;
    cursor: pointer;
}

这两种解决方案都可以在不使用任何额外JavaScript的情况下解决眼前的问题。

问题在于您有
href=“#”
,它会在每次单击链接时将锚定/滚动位置重置到页面顶部

我看到两个简单的解决方案:

最简单的方法是将锚点更改为按钮。这仍然表明这是一个可单击的元素,但没有锚元素:

<button ng-click="add()">(+) Add Team</button>
和CSS:

a, a.clickable {
    color: blue;
    text-decoration: underline;
    cursor: pointer;
}

这两种解决方案都可以在不使用任何额外JavaScript的情况下解决眼前的问题。

太好了。不带href=“#”)的按钮和锚点都解决了问题。非常感谢,太好了。不带href=“#”)的按钮和锚点都解决了问题。非常感谢你。