在AngularJS中移动多页面应用程序

时间:2015-06-08 09:29:32

标签: angularjs

我以角度结构构建多页面应用程序。我有一个配置了ngRoute的主应用程序,以便生成的URL类似于:

http://localhost:8080/project/main#firstTemplate
http://localhost:8080/project/main#secondTemplate
http://localhost:8080/project/main#thirdTemplate
...

现在我必须转移到同一项目中的另一个应用程序,以便Url类似于:

http://localhost:8080/project/secondary#fourthTemplate

我能够通过操作$ location.absUrl()产生的字符串来实现这一点,并将其传递给$ window.location.href,但它太可怕了。

有没有更好的方法来做同样的事情?

1 个答案:

答案 0 :(得分:0)

您应该通过路由器执行此操作。有角度的默认路由器,虽然我建议你使用https://github.com/angular-ui/ui-router - 因为我认为它比Angular v1.x默认值好得多。

使用该路由器,您可以定义几个状态(每个URL 1个状态),定义每个状态的URL,定义要在该状态中显示的视图,进入/离开时的操作等。然后,您可以访问$ state object和它的go()方法在状态之间切换 - 并且通过指定,可以轻松地在元素上自动完成。