$ stateParams中缺少参数

索拉·提瓦里(Saurabh Tiwari)

在下面,我试图在中发送一个对象$state在中检索它$stateParams我认为我做得正确,而且我已经看到很多网站和许多文章要求这样做。但是我无法$stateParams在下一个Controller中使用它。

我知道对此有很多疑问,我已经经历了很多问题。我还是被卡住了。有人可以看到我错了吗?

$scope.setup = function (ev, item, parent) {
            console.log("event", ev);
            console.log("item", item);
            console.log("parent in clusters", parent);

            ev.preventDefault();
            if(item!==null){
            var path = parent.id + '.' + item.code;
            path = path.replace(/\s+/g, '').toUpperCase();;
            if (!$(ev.target).closest('a').is('[disabled]')) {
                $rootScope.child = item;
                $rootScope.parent = parent;
                console.log("parent", $rootScope.parent);
                $state.go('setup', {
                    targetYear: $scope.targetYear,
                    path: path
                    //  ,'child': item, 
                    //  'parent': parent 

                });
             }
            }
            else {
                console.log("trade in trade", parent);
                console.log("items from scope", $scope.items);
                var path = parent.name.trim();
                path = path.replace(/\s+/g, '').toUpperCase();
                var totalTradesInOverview = $scope.items;
                console.log("parent", $rootScope.parent);
                $state.go('setup', {
                     targetYear: $scope.targetYear,
                     path: path,
                     params: totalTradesInOverview


                });

            }
        };

我想我应该直接$stateParams在另一个控制器中获取它我错了吗?

如果这很重要,则下面是我的状态声明部分:

 module.config(function ($stateProvider) {
        $stateProvider.state('setup', {
            url: '/setup/:targetYear/:path',
            views: {
                "main@": {
                    controller: 'TargetsSetupController as model',
                    templateUrl: 'app/targets/setup/setup.tpl.html',
                    // params: params  
                    //I tried even this passing that variable in params like //  params: totalTradesInOverview                                                                             
                },
                "bar@": {
                    controller: 'AController',
                    templateUrl: 'comments.tpl.html'
                }
            }
            }
        });
    });
DzinX

只能通过状态访问国家明确期望的参数$stateParams

在您的示例中,您的"setup"状态声明具有以下URL:,'/setup/:targetYear/:path'这意味着它需要targetYearpath参数。

您正在尝试传递第三个参数(params),该参数不可见,因为这不是预期的。

要传递第三个参数,您可以params在状态声明的特殊对象中使用一些默认值对其进行声明(请注意命名冲突-也许这是造成混淆的原因?):

$stateProvider.state('setup', {
    url: '/setup/:targetYear/:path',
    views: {...},
    params: {
        params: []
    }
});

现在,该params参数应该在$ stateParams中可见。

如果我是你,我会重新命名params,以totalTradesInOverview双方在上述状态的声明,并在$state.go声明中,以避免混乱。

另请参阅$ stateProvider.state文档以获取更多可应用于传递的参数的选项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 $stateParams 中传递多个参数

来自分类Dev

$ stateParams中的参数在resolve中未定义

来自分类Dev

SQL中缺少参数

来自分类Dev

SQL中缺少参数

来自分类Dev

For Loop中的UITextView缺少参数

来自分类Dev

SOAP请求中缺少参数

来自分类Dev

sfdisk中缺少参数选项?

来自分类Dev

验证feathresjs中缺少参数

来自分类Dev

Crystal Reports 中缺少参数

来自分类Dev

Swift:调用中缺少参数“ host”的参数

来自分类Dev

函数调用中的参数#1缺少参数

来自分类Dev

呼叫中参数#1缺少参数// Twitter

来自分类Dev

调用中缺少参数'from'的参数-Swift

来自分类Dev

按键调用中缺少参数#1的参数

来自分类Dev

呼叫中缺少参数'message'的参数

来自分类Dev

呼叫中缺少参数'options'的参数

来自分类Dev

Swift:调用中缺少参数“ host”的参数

来自分类Dev

“调用中缺少参数参数'queue'”

来自分类Dev

Swift:调用中缺少参数“ locale”的参数

来自分类Dev

快速调用中缺少参数“ responder”的参数

来自分类Dev

调用中缺少参数'totalBytesWritten'的参数

来自分类Dev

angularJS $ stateParams服务中

来自分类Dev

Wordpress中的函数缺少参数2

来自分类Dev

呼叫中的参数#1缺少自变量

来自分类常见问题

Swift:调用中缺少参数标签“ xxx”

来自分类Dev

检查父函数中缺少的参数

来自分类Dev

AngularJS $ http.get('')中缺少参数

来自分类Dev

NSURL“调用中缺少参数” Swift

来自分类Dev

在函数中调用缺少参数的构造函数