Angularjs 如何在Angular混合应用程序中通过代码进行路由
我正在开发一个混合AngularJS应用程序。 主AppModule是Angular模块,它使用使用给定状态的AppRoutingModule。诸如此类: 应用模块:Angularjs 如何在Angular混合应用程序中通过代码进行路由,angularjs,angular,angular-ui-router,angular-router,angular-hybrid,Angularjs,Angular,Angular Ui Router,Angular Router,Angular Hybrid,我正在开发一个混合AngularJS应用程序。 主AppModule是Angular模块,它使用使用给定状态的AppRoutingModule。诸如此类: 应用模块: 导入:[AModule、BModule、AppRoutingModule,…] 批准模块: 导入:[UIRouterUpgradeModule.forRoot(状态:某些状态)] 国家: export const some_state: [ { name: 'a', url: '/a' views: {
导入:[AModule、BModule、AppRoutingModule,…]
批准模块:
导入:[UIRouterUpgradeModule.forRoot(状态:某些状态)]
国家:
export const some_state: [
{
name: 'a',
url: '/a'
views: {
main: {component: AComponent}
}
},
{
name: 'b',
url: '/b'
views: {
main: {component: BComponent}
}
}
]
我想做的是——假设我在一个b组件中,我想导航到一个组件。
在纯角度组件中,我将使用RouterModule中的路由器(AppModule中的forRoot和子模块中的forChild)。
类似于router.navigateToURL(“…”)
现在我正在使用UIRouterUpgradeModule,但我找不到如何操作。
任何帮助都会很好,谢谢 在组件中,首先在构造函数中声明路由器,如下所示:
import { Component } from '@angular/core';
import { Router } from '@angular/router';
@Component({
// ...
})
export class AppComponent {
constructor(private router: Router) {}
// ...
}
然后创建一个函数,该函数将在需要更改路线时使用,您可以将此函数绑定到任何事件,如单击按钮以查看所需更改:
changeRoute() {
this.router.navigateByUrl('/b');
}
因此,对我有效的是: 从构造函数中的@uirouter/core导入StateService,如下所示:
构造函数(私有stateService:stateService)
我的方法是:
stateService.go('URL\u TO\u go\u TO')代码>
这对我来说很有效,我被按需要重定向。这不起作用,因为我使用的UIRouterUpgradeModule的状态适合混合解决方案。常规路由器需要不同状态的路由器阵列。