Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript augular ui路由器状态将与查询参数不匹配_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript augular ui路由器状态将与查询参数不匹配

Javascript augular ui路由器状态将与查询参数不匹配,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我卡住了 我无法让AngularJS的ui路由器将状态与查询参数匹配,但我的另一个状态与查询参数正常工作 这里是问题状态 $stateProvider.state( { name: 'sources-show', url: '^/sources/{id:[0-9]+}/:key?page&channel', controller: ctrlFunc, template

我卡住了

我无法让AngularJS的ui路由器将状态与查询参数匹配,但我的另一个状态与查询参数正常工作

这里是问题状态

    $stateProvider.state(
        {
            name: 'sources-show',
            url: '^/sources/{id:[0-9]+}/:key?page&channel',
            controller:  ctrlFunc,
            templateUrl: 'Boards.Show'
        }
    );
以下URL将匹配

http://example.com/sources/100/title
但此URL将在$urlRouterProvider中触发另一个URL

我看不出我做错了什么。更重要的是,另一个州运作得非常好

    $stateProvider.state(
        {
            name:        'sources',
            url:         '^/sources?page&find',
            controller:  controller,
            templateUrl: 'Boards.By.Type'
        }
    );

我唯一能得出的结论是,不能将查询参数与URL参数混合使用。

源是否显示源的子状态?如果是这样的话,请使用。我认为你不能使用催眠药。当模式将hypens转换为小写驼峰时,u可能会遇到编译时错误。从您的控制台或巴塔朗发出任何声音?@meze Thank尝试过,但没有成功。@BrianVanderbusch不是一个儿童状态,并且删除-没有解决它。@meze OMG!我的URL后面有一个反斜杠http://example.com/sources/100/test/?channel=test 在下一个版本中,我们将推出一种非严格模式,您可以使用它来允许路由匹配带有或不带有斜杠的URL。
    $stateProvider.state(
        {
            name:        'sources',
            url:         '^/sources?page&find',
            controller:  controller,
            templateUrl: 'Boards.By.Type'
        }
    );