我正在尝试在angular.js中实现单页面应用程序
我找到了一个演示
http://scotch.io/demos/angular-single-page-routing
很好
但我注意到了 http://scotch.io/demos/angular-single-page-routing#/contact
每个网址都有#tag
我们能做到吗? http://scotch.io/demos/angular-single-page-routing/a/contact
这里可能是#
的扮演角色有什么想法吗?
由于
答案 0 :(得分:1)
正如New Dev通过Docs链接所指出的,有两种方法可以在Angular中为单页面应用程序进行路由。
一种方法涉及hashbang,它在浏览器中更容易移植,并且还允许您为条目添加书签。另一种方法是使用HTML5模式,它将直接操作历史对象。它需要Angular在页面上处于活动状态,因此您无法将其加入书签。这就是你要求的方法。
要实现它,你需要$ locationProvider.html5Mode(true);
直接从Angular取消了New Dev在其评论(https://docs.angularjs.org/guide/$location#hashbang-and-html5-modes)中链接的文档。
function($locationProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
},
答案 1 :(得分:0)
您需要更改ul类中的某些内容,但是代码没有问题,除了将href导航添加到使用#确定的代码中,在类nav navbar-nav navbar-right中更改以下href .html | contact.html,删除你的href中的哈希#。你不需要将页面转换为新的distenation,但如果你想将页面contact.html移动到一个名为(a)的新文件夹,那么回到你的源代码实现href到/ contact.html