[英]How to parse arguments in routeProvider
我試圖為應用程序概述和應用程序詳細信息定義一條路線。 概述頁面的表格中列出了應用程序。 當用戶單擊應用程序行時,它將被重定向到詳細信息頁面(例如/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;
}
這對您不起作用嗎?
phonecatControllers.controller('PhoneDetailCtrl', ['$scope', '$routeParams',
function($scope, $routeParams) {
$scope.phoneId = $routeParams.phoneId;
}]);
在您的情況下,它將是$routeParams.appId
。 請記住在控制器中包含$routeParams
。
但是['$scope', '$routeParams'
不需要['$scope', '$routeParams'
。 如果要縮小,就很高興。
參見https://docs.angularjs.org/api/ngRoute/service/ $ route
如果將appId注入控制器,則appId將在$ route.current.params或$ routeParams中可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.