Angular中的单页应用程序

时间:2014-12-22 04:54:23

标签: angularjs angular-ui-router

我正在尝试在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

这里可能是#

的扮演角色

有什么想法吗?

由于

2 个答案:

答案 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