【问题标题】:How to disable routing in angularjs?如何禁用angularjs中的路由?
【发布时间】:2018-01-04 09:34:11
【问题描述】:

我有一个单页应用程序,实际上只有一个页面。只有一个视图包含大量使用 angularjs 完成的 javascript/ajax 逻辑,但没有路由到涉及的其他视图。

因此,我想去掉 url 末尾的 hashbang (#/)。我可以以某种方式完全关闭 angularjs 路由吗?

顺便说一句:我知道 Htm5Mode,但我希望它可以在所有浏览器中工作。

【问题讨论】:

  • 如果你没有任何路由,你为什么要定义路由呢?
  • 从您的应用(配置)中删除与 $routeProvider 相关的任何内容
  • 如果你知道 Html5Mode,当你使用路由时需要它。只需从应用程序中删除所有 $routeProvider
  • 我相信我还必须删除 $location

标签: angularjs


【解决方案1】:

如果您没有定义 $routeProvider,则不会有路由,因此您的 url 中不会有哈希。

【讨论】:

  • 事实并非如此。即使 ng 应用不使用路由器,哈希 url 也会被 angular 修改。
  • 同意。 ng-include 似乎会打开路由,即使您不使用其他 Angular 功能也是如此。你在用ng-include吗?
  • @Sharky 在使用 ng-include 时,您是否找到了避免这种行为的方法?我有一个使用控制器但没有路由的单页视差,并且在使用 ng-include 时,角度将锚 url 从这个 #clients 替换为这个 #/clients
  • 我做到了,但不幸的是,我不再记得我是怎么做到的了。但我可以肯定地告诉你,这是可能的。我认为这与通过某种形式的委托拦截核心 Angular 服务中的功能有关。
  • 我相信我还必须删除 $location
猜你喜欢
  • 2015-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-29
  • 1970-01-01
  • 2017-06-14
  • 2013-07-19
相关资源
最近更新 更多