簡體   English   中英

如何在routeProvider中解析參數

[英]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;
}

AngularJS Phonecat教程中的示例

這對您不起作用嗎?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM