如何使用带有$ _GET参数的$ routeProvider

时间:2015-05-05 07:12:57

标签: php angularjs wordpress

我是angularjs的新手,我希望得到你的帮助。我试图将$ routeProvider包含到我的项目中以使用模板系统。

     $routeProvider.when('/admin.php?page=all_transactions', {
                templateUrl : 'pages/home.html',
                controller  : 'TransactionsController'
        });

我看到大多数示例我发现.when的网址具有以下格式/ route1 /:param用于网址,如#/ route1 / 12345

因为我在wordpress管理页面使用了角度,所以我希望.when使用$ _GET参数,就像我给出的示例代码一样。
参数的深度我希望它最多为3并忽略任何其他参数。

有谁知道我怎么做?

1 个答案:

答案 0 :(得分:1)

你知道那个参数是否足够?或者你需要明确的价值观。
如果参数足够,你可以按照这个例子:URL Routing with Query Parameters

url: "/contacts?myParam"
// will match to url of "/contacts?myParam=value"

如果您需要多个,请将其与'&':

分开
url: "/contacts?myParam1&myParam2" 
// will match to url of "/contacts?myParam1=value1&myParam2=wowcool"

希望这有帮助。

编辑:要访问这些值,您可以执行以下操作:Accessing query parameter values

  

也可以使用/view/1/2?other=12在查询字符串$routeParams.other中获取其他任意参数 - DavidC Aug 17' 14 at 21:04   

OR: 虽然路由确实是应用程序级URL解析的一个很好的解决方案,但您可能希望使用更低级别的$ location服务,如在您自己的服务或控制器中注入的那样:

var paramValue = $location.search().myParam; 

这种简单的语法适用于 http://example.com/path?myParam=someValue 。但是,只有在以下情况下在html5模式下配置了$ locationProvider:

$locationProvider.html5Mode(true);

否则请查看 http://example.com/#!/path?myParam=someValue " Hashbang"语法有点复杂,但也有利于处理旧浏览器(非兼容html5)。