我在无哈希模式下使用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的锚链接?)
答案 0 :(得分:1)
你使用哪个版本的角度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);
试试这个。希望这会对你有所帮助。