如何使用UI-Router防止持久URL锚点链接哈希值?

5
我正在使用Angular2和UI-Router 2在无哈希模式下创建一个简单的应用程序,其中菜单中有一些锚点链接。例如: 如果我从一个带有URL哈希的路由转到没有哈希的路由,哈希将保留。例如,通过菜单从/blah/blech#specifications转到/blah/derp,浏览器地址栏会显示/blah/derp#specifications。显然,这是不正确的,实际上有点限制,例如当我返回到/blah/blech时,哈希值仍然存在,将窗口发送到该锚定位置。
另一个副作用是页面在某种程度上刷新得相对不可预测。从/blah/derp转到/blah/blech#specifications会导致完全刷新页面。
设置相当标准:
export let derpState: Ng2StateDeclaration = {
    name: 'derpState',
    component: DerpComponent,
    url: '/derp'
}

我该如何在UI-Router 2中成功地结合使用哈希链接?(或者,我该如何以其他方式在UI-Router中使用锚点链接?)
1个回答

1

你使用的 Angular 2 版本是哪个?请升级它。不需要名称和其他内容。

import { ModuleWithProviders }  from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

import { DerpComponent }    from './derp.component';

const derp: Routes = [
{ path: 'derp',  component: DerpComponent }
];
export const derpState: ModuleWithProviders = RouterModule.forChild(derp);

尝试这个。希望能帮到你。

谢谢。最新版本。请在此提供您的方法说明。我不知道锚链接是如何处理的。 - isherwood

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接