Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用angularJS中的resolve条件化路由_Javascript_Angularjs - Fatal编程技术网

Javascript 用angularJS中的resolve条件化路由

Javascript 用angularJS中的resolve条件化路由,javascript,angularjs,Javascript,Angularjs,我正试图根据屏幕宽度改变当前路线。我的resolve函数在UI呈现之前运行,我可以确定是否要显示屏幕的移动变体 when "/messages/:id", templateUrl: "../templates/messages/show.html" controller: "MessageCtrl" resolve: route: ["$location", "Device", "$routeParams", ($location, Device, $routeParams)

我正试图根据屏幕宽度改变当前路线。我的resolve函数在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函数中的route中检索
id
参数。我已经注入$routeParams,但在检查它时返回一个空对象


做这件事的“角度方法”是什么?这感觉很糟糕,但我需要检索参数的值,以便正确生成新路由。

尽管
$routeParams
没有,但
$routeParams
服务似乎有未来路由引用的参数。以下代码正常工作:

resolve:
    route: ["$location", "Device", "$route", ($location, Device, $route) ->
      if Device.screenWideEnough(768)
        $location.path("/messages").search({id : $route.current.params.id})
    ]