質問: Angular(v4.0.0)でページ遷移する際に、遷移前のページのスクロール位置が遷移後のページに保持されたまま遷移してしまいます。 遷移方法は以下のようにrouterLinkを用いています。 ``` ``` これは、Angular(v4.0.0)の仕様なのでしょうか? また、仕様であれば、この機能をoffにすることはできるのでしょうか? ご存知のかたは、教えていただけると幸いです。 よろしくお願いいたします。
回答: 現時点では「仕様」のようで、 Angularとしての機能としてOffにするような方法はないように思えます。 以下Angular Issueでも議論されておりますが、設定的な方法ではなく、処理を入れてしまう対処案しか出ていません。 Changing route doesn't scroll to top in the new page #7791 とりあえずは私も上記ページにある内のひとつの方法である 以下をngOnInitに入れることによって対処しています(↑のIssue#7791内のtrickでは突入された側のRouterではなく去り側のRouterでsetしています。) ``` this.renderer.setElementProperty(document.body, "scrollTop", 0); ``` 私見入りますが、あまり良い「仕様」とは言えないのでAngularTeamにconfig方法をRequestしたいところです。(とりあえず上記#7791にVoteしました。)