我正在尝试根据角度的屏幕宽度更改当前路线。我的解析功能在UI渲染之前运行,我可以确定是否要显示屏幕的移动变体。
when "/messages/:id",
templateUrl: "../templates/messages/show.html"
controller: "MessageCtrl"
resolve:
route: ["$location", "Device", "$routeParams", ($location, Device, $routeParams) ->
console.log($routeParams)
if Device.screenWideEnough(768)
console.log "wide enough"
$location.path "/bigMessageScreen"
# $location.path("/bigMessagesScreen").search({messageId : $routeParams.id})
]
但是,我不确定如何从resolve函数中检索路由中的id
参数。我注入了$ routeParams但是当我检查它时返回了一个空对象。
这样做的“角度方式”是什么?这感觉非常hacky但我需要检索参数的值,以便我可以正确生成新路由。
答案 0 :(得分:0)
$route
服务似乎有未来路由引用的参数,即使$routeParams
没有。以下代码正常运行:
resolve:
route: ["$location", "Device", "$route", ($location, Device, $route) ->
if Device.screenWideEnough(768)
$location.path("/messages").search({id : $route.current.params.id})
]