使用 Angular 单击滚动到组件
scroll to a component on a click using Angular
嘿,我正在尝试创建一个带有几个 link 按钮的简单导航栏。我希望当我点击一个按钮时,它会滚动到正确的组件。我知道我可以使用 jquery 使用 ScrollTo() 来做到这一点,但是使用 Angular 我没有在 1 页中包含所有 HTML。是否可以使其与 angular 一起使用?
这个 fiddle 描述了我正在寻找的结果:
$(document).ready(function() {
$('a[rel="relativeanchor"]').click(function(){
$('html, body').animate({
scrollTop: $( $.attr(this, 'href') ).offset().top
}, 500);
return false;
});
});
您可以使用 window.location.hash
。像这样。
<button (click)="goTo('myComponent')"></button>
这是组件中的 goTo
函数:
goTo(location: string): void {
window.location.hash = location;
}
那么这是您要导航到的组件:
<my-component id='myComponent'></my-component>
当您单击该按钮时,它将导航到 ID 为 "myComponent" 的元素,这是您的组件。
嘿,我正在尝试创建一个带有几个 link 按钮的简单导航栏。我希望当我点击一个按钮时,它会滚动到正确的组件。我知道我可以使用 jquery 使用 ScrollTo() 来做到这一点,但是使用 Angular 我没有在 1 页中包含所有 HTML。是否可以使其与 angular 一起使用?
这个 fiddle 描述了我正在寻找的结果:
$(document).ready(function() {
$('a[rel="relativeanchor"]').click(function(){
$('html, body').animate({
scrollTop: $( $.attr(this, 'href') ).offset().top
}, 500);
return false;
});
});
您可以使用 window.location.hash
。像这样。
<button (click)="goTo('myComponent')"></button>
这是组件中的 goTo
函数:
goTo(location: string): void {
window.location.hash = location;
}
那么这是您要导航到的组件:
<my-component id='myComponent'></my-component>
当您单击该按钮时,它将导航到 ID 为 "myComponent" 的元素,这是您的组件。