我正在尝试使用 hook activate、didTransition 或 willTransition,但这些都不起作用,它们什么都不做。我尝试从一条路线开始:
// app/routes/section.js
import Route from '@ember/routing/route';
export default class SectionRoute extends Route {
...
activate() { scroll(0, 0); }
}
<!-- app/templates/section.hbs -->
<h1>{{model.title}}</h1>
<p>{{model.body}}</p>
{{outlet}}
{{#each model.subsections as |s| }}
<Section @section={{s}} />
{{/each}}
这适用于我的 js 浏览器控制台:
scroll(0, 0);
这是我的路由器
// app/router.js
...
Router.map(function() {
this.route('docs');
this.route('section', { path: '/docs/section/:slug' });
});
如果我将部分设为文档的子项,则它可以工作,只要我不隐藏父项的内容,但我想隐藏它。链接到组件中的锚点可能会有所帮助。
当我删除这段 css 时,它可以工作。
html {
scroll-behavior: smooth;
}