我尝试为应用程序概述和应用程序详细信息定义路由。应用程序列在概述页面的表中。当用户点击应用程序行时,它将重定向到详细信息页面(例如/app/1
)
angular.module('app', [
'ngRoute', 'appsOverviewCtrl', 'appDetailCtrl'])
.config(function($routeProvider) {
$routeProvider.when('/apps', {
templateUrl: 'partials/overview.html',
controller: 'appsOverviewCtrl'
}).when('/app/:appId', {
templateUrl: 'partials/detail.html',
controller: 'appDetailCtrl'
});
})
现在在详细页面中,我将尝试提取appId
。我google了一下,有一种方法可以使用Angular服务。但我相信还有其他更直接的方法。
答案 0 :(得分:1)
在您的控制器中,您可以使用$routeParams
function controllerName($scope, $routeParams)
{
$scope.value = $routeParams.appId;
}
答案 1 :(得分:1)
这不适合你吗?
phonecatControllers.controller('PhoneDetailCtrl', ['$scope', '$routeParams',
function($scope, $routeParams) {
$scope.phoneId = $routeParams.phoneId;
}]);
在您的情况下,它将是$routeParams.appId
。请记住在控制器中加入$routeParams
。
但是['$scope', '$routeParams'
不是必需的。如果你正在缩小,那就太好了。
答案 2 :(得分:0)
请参阅https://docs.angularjs.org/api/ngRoute/service/ $ route
appId将在$ route.current.params或$ routeParams中提供,如果你将它注入你的控制器。