如何在路线更改时回滚到任何地方的元素?

时间:2017-08-03 19:13:55

标签: javascript angularjs angular-ui-router

我有一张很长的桌子。每行中的第一列是<a>标记。点击<a>代码即可:

  1. 更新route和页面reloads
  2. 从服务器获取数据(对象列表)。
  3. <a>标记
  4. 下方显示数据
  5. 隐藏与其他<a>标记相关的数据。
  6. 数据长度彼此不同。我一次只显示与其中一个<a>标签相关的数据。例如,点击第一个<a>就会显示与之相关的数据。点击第二个<a>即可显示与其相关的数据,并隐藏与第一个<a>相关的数据。

    如何在路线更改和页面重新加载时回滚到您点击的<a>标记?

    如果你回答,请不要jQuery。

    提前致谢。

1 个答案:

答案 0 :(得分:1)

那么你的桌子里面有什么?是图像吗?

来自服务器&#34;的&#34;数据是数据,就像来自api请求的数据一样?或者它是一个新的网页?

如果我们在这里谈论动态网页。我记得用无限滚动视图处理同样的问题,用户点击一个元素,然后返回并期望返回相同的位置。

动态内容的问题是浏览器需要一段时间才能呈现它。根据它的不同,可能需要几毫秒到几秒钟(不良的3G和1000个图像的视图)。虽然这个渲染正在进行,但你真的不知道滚动应该在哪里结束。可以通过添加超时和调整滚动来解决,直到我们几乎确定页面位于正确的位置。但它通常是一团糟。

你说该网页重新加载?通常情况下,页面需要重新加载&#34;如果用户正在改变路线和类似的。如果您要加载的数据是新页面,我就知道您必须重新加载的原因。但如果它是对其他一些数据的api请求;是不是重新加载页面的选项?如果可行,那么您可以删除并添加元素,而不是重新加载整个页面。