我需要从路由参数获取页面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"
的对象。
为什么在没有更换参数的情况下加载控制器?