我被困住了。
我无法让AngularJS使用ui-router来匹配具有查询参数的状态,但是我的其他查询参数状态正常工作。
这是问题状态。
$stateProvider.state(
{
name: 'sources-show',
url: '^/sources/{id:[0-9]+}/:key?page&channel',
controller: ctrlFunc,
templateUrl: 'Boards.Show'
}
);
以下网址将匹配。
http://example.com/sources/100/title
但是此网址会触发otherwise()
中的$urlRouterProvider
。
http://example.com/sources/100/title?channel=test
我看不出我做错了什么。而这个其他州的工作完全正常。
$stateProvider.state(
{
name: 'sources',
url: '^/sources?page&find',
controller: controller,
templateUrl: 'Boards.By.Type'
}
);
我唯一能得出的结论是你不能将查询参数与URL参数混合在一起。