Angularjs 角网格中的路由查询

Angularjs 角网格中的路由查询,angularjs,routes,angular-ui-router,Angularjs,Routes,Angular Ui Router,我想将我的路由配置为能够接受其URL后的任何整数。 比如说, /product/id/1242 API工厂将访问此整数作为API查询的值 我读过医生关于设置路线的文章,但没能做到。如果我输入一个带有整数的URL,它只会重定向到登录页面 angular.module('myapp123.routes', []) .config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterPro

我想将我的路由配置为能够接受其URL后的任何整数。 比如说,

/product/id/1242
API工厂将访问此整数作为API查询的值

我读过医生关于设置路线的文章,但没能做到。如果我输入一个带有整数的URL,它只会重定向到登录页面

angular.module('myapp123.routes', [])


.config(['$stateProvider', '$urlRouterProvider',
    function($stateProvider, $urlRouterProvider) {

        $urlRouterProvider.otherwise("/login");
        //$location.path('/product').search('queryStringKey', value).search( ...);
        $stateProvider

            .state('login', {
                url: '/login',
                views: {
                    'menuContent': {
                        templateUrl: 'app/core/login/login.html'
                    }
                },
                controller: function ($ionicHistory, $scope) {
                    console.log('Clearing history!');
                    $ionicHistory.nextViewOptions({
                        historyRoot: true,
                        disableBack: true
                    });
                }


            })

            .state('product', {
                url: '/product',
                when:('/product/id/product_id')
                views: {
                    'menuContent': {
                        templateUrl: 'app/components/product/product.html'
                    }
                }


            })
根据这一点,我们应该做到这一点。[0-9]将产品Id限制为数字

.state('product', {
                url: '/product/id/{productId:[0-9]}',
                views: {
                    'menuContent': {
                        templateUrl: 'app/components/product/product.html'
                    }
                }

谢谢-由于某些原因,无法使您的版本正常工作

我发现了一个可行的解决方案:

        .state('product', {
        url: '/product/id/:product_id',
        templateUrl: 'app/components/product/product.html',
        controller: function($scope, $stateParams) {
            $scope.product_id = $stateParams.product_id;
        }
    })