2

我对 angularjs 比较陌生,并且有以下问题。我有一个如下所示的网址:

localhost:10001/Broadcast/New?mode=launchQL&ID=U1DboHfQVU65VYQ21t5nLw

在我的控制器内部,我试图根据参数模式和 ID 设置一些逻辑。

myApp.controller('MyCtrl', function($scope, $http, $filter, $log, $timeout, $location){
$scope.mode = ($location.search())['mode'];
$scope.ID = ($location.search())['ID'];
}

我无法确定为什么 $location.search() 没有返回字典

{'mode':'launchQL', 'ID':'U1DboHfQVU65VYQ21t5nLw'}

正如文档所说的那样。我不确定我在这里缺少什么。任何帮助表示赞赏。在此先感谢您的时间。

4

1 回答 1

4

这是因为你在 AngularJS 中使用的东西需要放在 hash(#) 或 hashbang (#!) 后面。您现在拥有的网址只是带有常规查询字符串的常规网址。您想要的是 AngularJS 中的单页应用程序 (SPA) 中的路由设置,它指向某个控制器。如果在正常路线后面提供,您可以从那里访问搜索变量。

所以你的网址应该是这样的:

localhost:10001/Broadcast/New#someroute?mode=launchQL&ID=U1DboHfQVU65VYQ21t5nLw
于 2013-11-13T15:38:33.873 回答