Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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 角度路由匹配具有特定参数的url_Javascript_Php_Angular_Wordpress - Fatal编程技术网

Javascript 角度路由匹配具有特定参数的url

Javascript 角度路由匹配具有特定参数的url,javascript,php,angular,wordpress,Javascript,Php,Angular,Wordpress,我正在WordPress管理仪表板中实现一个angular应用程序 我目前正在尝试实现路由,我想知道是否有办法将路由与特定参数匹配。例如,我的插件在WordPress中的基本URL是: http://localhost/wp/wp-admin/admin.php?page=angular_plugin 这与角度布线的根路径匹配。然而,如果我想实现更多的页面,我不能使用不同的路径,因为WordPress不会识别它,并且会返回一个错误。因此,为了避免WordPress干扰我的路由,我需要使用插件的基

我正在WordPress管理仪表板中实现一个angular应用程序

我目前正在尝试实现路由,我想知道是否有办法将路由与特定参数匹配。例如,我的插件在WordPress中的基本URL是:

http://localhost/wp/wp-admin/admin.php?page=angular_plugin

这与角度布线的根路径匹配。然而,如果我想实现更多的页面,我不能使用不同的路径,因为WordPress不会识别它,并且会返回一个错误。因此,为了避免WordPress干扰我的路由,我需要使用插件的基本URL并使用参数来指示我要加载的路由

例如,要加载仪表板路线,它必须类似于:

http://localhost/wp/wp-admin/admin.php?page=angular_plugin&route=dashboard

有没有办法在Angular中声明这样的路由?

您可以尝试使用哈希定位策略。 然后url会是这样的,wordpress就不会麻烦了,因为它只是一个用javascript处理的东西

Angular的默认位置策略是PathLocationStrategy,所以您需要启用HashLocationStrategy,这很简单,只需确保在路由模块ts文件中将useHash设置为true,如下所示

@NgModule({
  imports: [ RouterModule.forRoot(routes, {useHash: true }) ],
  exports: [ RouterModule ]
})

如果您想在wordpress admin上使用angular,您可以使用htaccess将每个传入请求指向
/wp/wp admin/admin.php/foo/bar
/wp/wp admin/admin.php