javascript - Angular RouteParams 返回一个空对象

标签 javascript angularjs html route-provider

我正在尝试使用 Angular routeProvider 和routeParams 来获取id 和name 参数。 这是js:

angular.module("test",["ngRoute"])
 .config(["$routeProvider",function(a){
     a.when("/test/:id",{}).
       when("/tests/:name",{});
     }
 ]).controller("testCtrl",["$scope","$routeParams",function(a,b){
     a.result = b.name; //console.log(b.id);
 }
]);

和 HTML

<html ng-app="test">
...
<body ng-controller="testCtrl">
<p>Test ID</p>
<a href="/test/1">1</a>
<a href="/test/2">2</a>


<p>Test Name</p>
<a href="/tests/test1">Test1</a>
<a href="/tests/test1">Test2</a>
<a href="/tests/test1">Test3</a>


<p>RouteParams Result</p>
<p>{{ result }}</p>
</body>

这不是 SPA,因此我没有在 when 函数中设置 templateUrl 和 Controller 。我只需要 URL 参数。我已经包含了 Angular 和 Angular-route 库

Here's the plunkr just in case

最佳答案

 a.when("/test/:id",{}).
   when("/tests/:name",{
     controller: "testCtrl"
   });
 }

您需要将 Controller 指定为当前状态才能获取routeParams。

关于javascript - Angular RouteParams 返回一个空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27886478/

相关文章:

javascript - 计算 2 个数组中出现了多少个相同的元素

javascript - 在 ui-router 状态 Controller 中检索查询参数

html - 有没有办法从自定义主页中删除页眉和页脚?

javascript - 在同一 View 中使用相同的指令并绑定(bind)不同的数据

javascript - ng-repeat 中的 Angularjs 函数调用了项目长度的多次

javascript - Bootstrap 将元素一个接一个地放置

html - 如何将下拉菜单直接移到父选项卡下?

javascript - 如何将 CanJS 与 VelocityJS 一起使用?

javascript - 使用 JQuery 和 bootstrap 更改选择选项的标签文本

javascript - angularjs:在 html 输入中只允许整数