使用哈希网址粘贴在Anglular ui-router State.go上?

Raf*_*fat 5 javascript hash angularjs angular-ui angular-ui-router

我正在使用ui-router.我有一个州:

.state('new-personal-orders', {
    url: '/orders/new-personal-orders/:catId?',
    template: '<new-personal-orders></new-personal-orders>'
})  
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我可以用状态调用

 $state.go('new-personal-orders',null,{reload:true})   
Run Code Online (Sandbox Code Playgroud)

在Html文件中我有一个锚标记:

<a href="/orders/new-personal-orders#12">Link</a>
Run Code Online (Sandbox Code Playgroud)

如果单击标记,状态将更改,并且"new-personal-orders"将变为当前状态,并在url中显示尾随哈希.然后网址看起来像:

HTTP://本地主机:3000 /命令/新个人订单#12

我想用控制器文件和ui-router的$ state.go()函数做同样的事情.但是没有添加哈希网址.

我的问题是,是否有任何方式可以通过ui-router中的$ state.go()传递哈希URL?

Noa*_*oam 7

看来你现在可以在状态参数中放入一个哈希值,如下所示:

$state.go('new-personal-orders', {'#': catId });
Run Code Online (Sandbox Code Playgroud)

你甚至根本不需要/:catId状态配置.请参阅https://github.com/angular-ui/ui-router/pull/1867


Avi*_*pta 0

您可以将状态参数作为参数传递$state.go

$state.go('new-personal-orders', {catId: 12}, {reload:true})  
// refers to: http://localhost:3000/orders/new-personal-orders/#12
Run Code Online (Sandbox Code Playgroud)

看来您正在尝试在 an 内实现相同的内容ng-repeat,那么您应该替换12为诸如order.catId等之类的东西。