我正在努力在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中声明这样的路由?
答案 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