$ location返回路径未替换命名参数

时间:2016-12-19 17:42:11

标签: javascript angularjs

我需要从路由参数获取页面ID,因此可以加载其他数据。

路线配置如下:

$routeProvider.when('/site/pages/:pageId', {/*configudarion*/})

在控制器中是用于从参数中获取页面ID的代码:

var pageId = $routeParams.pageId;    // when location is /site/pages/9 returns "9"

在第一次加载时,我总是得到正确的页面ID值。 在浏览器(历史记录)中通过前进/后退更改位置时问题开始。

然后我开始获取占位符而不是真正的页面ID:

var pageId = $routeParams.pageId;    // when location is /site/pages/9 returns ":pageId"

我也尝试通过pageId$route.current.params访问$location.path()参数。

$route.current.params返回pageId属性为":pageId"$location.path()返回"/site/pages/:pageId"的对象。

为什么在没有更换参数的情况下加载控制器?

0 个答案:

没有答案