如何在散列模式中定义到角路线的链接?
以hashbang(非HTML5)模式定义到角路线的链接的正确方法是什么?如何在散列模式中定义到角路线的链接?
假设我有以下导航栏。酒吧:
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="#!/first">First</a></li>
<li><a href="#!/second">Second</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="#!/" ng-click="logout()">Logout</a></li>
</ul>
</div>
它的工作原理,但我心里有以下几个问题:
- 我看到了很多的论文中,作者通过
/first
或#/first
代替#!/first
做同样的事情,但它不(我想这是因为我使用#!
作为哈希串,但我不知道为什么有#/first
这么多的例子,而不是#!/first
,如果后者是默认的) -
可以这样定义
logout
动作吗?<li><a href="#!/" ng-click="logout()">Logout</a></li>
因为它似乎对我来说有点难看。
hash-bang synthax是new from Angular 1.6。这个版本还是新的,它可以解释为什么你没有看到许多带有散列爆炸路由的文章。
不管怎么说,从这一行:
<li><a href="#!/" ng-click="logout()">Logout</a></li>
您可以重定向移动到logout()
功能:
$scope.logout = function() {
...
$location.url('/home');
}
不要忘记注入$location
。
是的,这就是我实际上在做的。所以完全没问题,对吧?那另一个问题呢? – FrozenHeart
@FrozenHeart在我看来,它是最干净的方式。我已经更新了关于'#!/'synthax的回答,希望它有帮助! :) – Mistalis
你确定location.url参数应该有一个hashbang字符串吗?它也适用于W/O它 – FrozenHeart
角路由在1.6中改变。请参阅http://*.com/questions/41211875/angularjs-1-6-0-latest-now-routes-not-working – Claies