我正在努力在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中声明这样的路线?
您可以尝试使用哈希位置策略。那么网址就像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 ]
})