0

我正在开发一个关于路由的应用程序,我的代码:

//HTML, I passed a 'test' into routing
<a href="#details/test">Test</a>
<div data-ng-view=""></div>

//Template
<h1>{{res}}</h1>

//Angularjs
var app = angular.module("dictApp", ['ngRoute']);

app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.
    when('/details/:test', {
        templateUrl: 'template.html', 
        controller: 'testCtrl'
    });
}]);

app.controller('testCtrl', function ($scope, $routeProvider) {
    $scope.res = $routeProvider.test;
});

//The template is displayed as
{{res}}

模板页面应该显示“测试”,但我不知道为什么它不起作用。

提前谢谢。

4

2 回答 2

1

'test' 参数应该在 $routeParams 中可用。

app.controller('testCtrl', function ($scope, $routeParams) {
    $scope.res = $routeParams.test;
});
于 2016-06-07T04:06:19.163 回答
1

公开路由参数的服务是$routeParams. $routeProvider是用于在应用程序中配置路由的提供程序,就像您在代码中使用.when方法所做的一样

您需要注入$routeParams并使用它而不是$routeProvider

app.controller('testCtrl', function ($scope, $routeParams) {
  $scope.res = $routeParams.test;
});
于 2016-06-07T04:08:07.460 回答