【发布时间】:2018-04-01 04:23:34
【问题描述】:
我已经编写了 app.component.ts 文件,以便在每次页面状态更改后使用 renderer.setElementProperty 滚动到我的应用顶部。
我还有一个 example.com/product/xx 页面,其中“xx”代表不同的参数。我编写了一个 route.param.subscribe 来监听参数变化并根据新参数获取页面内容。
我的问题主要出在手机(浏览器视图)或内容较长的页面上。
我的代码监听参数变化,更新内容,但不滚动到页面顶部,虽然我的 app.component.ts 文件用我的标准路线变更。
我尝试了 window.scrollTo(0, 0) 和其他几个基于 JavaScript 的窗口操作均无济于事。
是否有人在路由参数订阅中成功编写了滚动回顶部功能?
编码如下所示
this.route.params
.subscribe(item => {
this.item = item; // successfully retrieves param content
window.scrollTo(0, 0); // does not scroll to top
this.renderer.setElementProperty(document.body, "scrollTop", 0);
// also does not work
});
});
在 Angular 4 (4.4.x) 应用程序中成功侦听来自路由的参数后,有什么想法可以注入“滚动到顶部”功能?
【问题讨论】:
标签: javascript angular