角路由匹配URL女巫特定参数

时间:2019-04-29 15:54:30

标签: javascript php angular wordpress

我正在努力在WordPress管理仪表板内部实现有角度的应用程序。

我目前正在尝试实现路由,我想知道是否有一种方法可以将路由与特定参数进行匹配。例如,我的插件在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中声明这样的路由?

2 个答案:

答案 0 :(得分:1)

您可以尝试使用哈希定位策略。 那么网址将类似于http://localhost/wp/wp-admin/admin.php?page=angular_plugin/#/dashboard,这样wordpress就不会打扰,因为这只是用javascript处理的事情。

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

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

答案 1 :(得分:0)

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