What you are looking for is a built-in method $state href(). Here you can see here . Documentation:
How to get the current state of href?
$state.href($state.current.name);
(. plunker):
$stateProvider.
state('tabs', {
url: '/tab',
abstract: true,...
})
.state('tabs.home', {
url: '/home',...
})
.state('tabs.home.detail', {
url: '/{id:[0-9]{1,4}}',...
})
.state('tabs.home.detail.edit', {
url: '^/edit/{id:[0-9]{1,4}}',...
});
:
ui-sref
<ul>
<li><a ui-sref="tabs.home">Tabs/Home</a></li>
<li><a ui-sref="tabs.home.detail({id:4})">Tabs/Home id 4</a></li>
<li><a ui-sref="tabs.home.detail({id:5})">Tabs/Home id 5</a></li>
<li><a ui-sref="tabs.home.detail.edit({id:4})">Tabs/Home id 4 - edit</a></li>
<li><a ui-sref="tabs.home.detail.edit({id:5})">Tabs/Home id 5 - edit</a></li>
</ul>
href
<ul>
<li><a href="#/tab/home">Tabs/Home</a></li>
<li><a href="#/tab/home/4">Tabs/Home id 4</a></li>
<li><a href="#/tab/home/5">Tabs/Home id 5</a></li>
<li><a href="#/edit/4">Tabs/Home id 4 - edit</a></li>
<li><a href="#/edit/5">Tabs/Home id 5 - edit</a></li>
</ul>
var href = $state.href($state.current.name);