0

这是我的状态定义:

$stateProvider
        .state('app.reports', {
            url: '/reports?param1&param2',
            templateUrl: 'app/modules/report/views/reports.html',
            controller: 'reportController',
            controllerAs: 'vm'
        });

当我点击这些时,

<a ui-sref="app.reports({param1:'param1'})">

它按我的预期工作,它调用我定义并从 reportController 调用的服务工厂函数,并从 REST 服务获取数据并显示它。网址是http://.../#/app/reports?param1=param1

点击这个后,

<a ui-sref="app.reports({param2:'param2'})">

它不工作。我的“工厂”函数没有被调用,没有任何 REST 调用,所以数据不会改变。不知何故,网址是http://.../#/app/reports?param1=param1¶m2=param2

这很奇怪吗?

编辑:你可以在这里看到它,http ://plnkr.co/edit/wmfgqY9hCmIj9Bk39NaP?p=preview

4

1 回答 1

0

这是因为在您的第二个<a ui-sref>标签中,您的参数 1 是undefined,因此生成的 URL 将是http://..../#/app/reports?UNDEFINED&param2=param2

您需要定义参数 1,因为它认为参数 2 取决于它。

我希望这能解决问题!

于 2016-11-25T15:07:36.097 回答