【问题标题】:AngularJS route without slash没有斜线的AngularJS路由
【发布时间】:2013-10-09 19:59:53
【问题描述】:

在 AngularJS 中我可以设置这样的样式路由吗:

http://www.mydomain.com/title-and-more-irrelevant-text-123456-category.html

“123546”是一个标识符?

与:

$locationProvider.html5Mode(true);

我必须这样做,因为我需要保留旧网址

【问题讨论】:

  • 你能解释一下你的场景吗?这太简陋了。

标签: javascript angularjs slash angularjs-routing


【解决方案1】:

如果这是整个路径,那么我想这会很困难,因为它太通用了。

如果您可以使用 /prefix/title-and-stuff-123456-foo.html 形式的路径(即整个 URL 看起来像 http://mysrv.com/ctx/#/prefix/title-and-stuff-123.html),请继续阅读。

您可以将路由定义为:/prefix/*titleAndId。注意*。然后整个字符串可以在任何控制器中作为$route.current.params.titleAndId 访问。您可以解析此字符串(也许使用适当的正则表达式)并提取任何信息,然后加载适当的内容。

路由定义中的* 使参数也可以包含斜杠。如果不需要斜线,可以使用/prefix/:titleAndId,同样的方式使用。

【讨论】:

  • 谢谢,¿我不能用不同的 $route.current.params 将 URL 中的标识符“类别”分开吗?
  • @aloon 我不认为这是可能的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-13
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 2016-09-30
  • 2012-12-28
相关资源
最近更新 更多