这是我的州定义:
$stateProvider
.state('app.reports', {
url: '/reports?param1¶m2',
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
答案 0 :(得分:0)
这是因为在您的第二个<a ui-sref>
代码中,您的参数1为undefined
,因此生成的网址为http://..../#/app/reports?UNDEFINED¶m2=param2
。
您需要定义参数1,因为它认为参数2取决于它。
我希望这能解决问题!