我对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'}
正如预期的那样,文档说。我不确定我在这里缺少什么。 任何帮助表示赞赏。提前感谢您的时间。
答案 0 :(得分:4)
这是因为你在AngularJS中使用的东西需要在哈希(#)或hashbang(#!)后面。你现在拥有的网址只是一个定期查询字符串的常规网址。你想要的是AngularJS中单页应用程序(SPA)中指向某个控制器的路由设置。从那里你可以访问搜索变量,如果提供正常路线。
所以你的网址应该是这样的:
localhost:10001/Broadcast/New#someroute?mode=launchQL&ID=U1DboHfQVU65VYQ21t5nLw