如何解析 routeProvider 中的参数
How to parse arguments in routeProvider
我试图为应用程序概述和应用程序详细信息定义一条路线。应用程序列在概览页面的 table 中。当用户点击应用程序行时,它将被重定向到详细信息页面(例如 /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
。我用谷歌搜索了一下,有一种使用 Angular 服务的方法。但我相信还有其他一些更直接的方法。
在你的控制器中,你可以使用$routeParams
function controllerName($scope, $routeParams)
{
$scope.value = $routeParams.appId;
}
参见https://docs.angularjs.org/api/ngRoute/service/$route
appId 将在 $route.current.params 或 $routeParams 中可用,如果您将它注入您的控制器。
示例来自 AngularJS Phonecat tutorial
这对你不起作用吗?
phonecatControllers.controller('PhoneDetailCtrl', ['$scope', '$routeParams',
function($scope, $routeParams) {
$scope.phoneId = $routeParams.phoneId;
}]);
你的情况是 $routeParams.appId
。请记住在您的控制器中包含 $routeParams
。
但是 ['$scope', '$routeParams'
不是必需的。如果你正在缩小,那就太好了。
我试图为应用程序概述和应用程序详细信息定义一条路线。应用程序列在概览页面的 table 中。当用户点击应用程序行时,它将被重定向到详细信息页面(例如 /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
。我用谷歌搜索了一下,有一种使用 Angular 服务的方法。但我相信还有其他一些更直接的方法。
在你的控制器中,你可以使用$routeParams
function controllerName($scope, $routeParams)
{
$scope.value = $routeParams.appId;
}
参见https://docs.angularjs.org/api/ngRoute/service/$route
appId 将在 $route.current.params 或 $routeParams 中可用,如果您将它注入您的控制器。
示例来自 AngularJS Phonecat tutorial
这对你不起作用吗?
phonecatControllers.controller('PhoneDetailCtrl', ['$scope', '$routeParams',
function($scope, $routeParams) {
$scope.phoneId = $routeParams.phoneId;
}]);
你的情况是 $routeParams.appId
。请记住在您的控制器中包含 $routeParams
。
但是 ['$scope', '$routeParams'
不是必需的。如果你正在缩小,那就太好了。