0

我正在开发一个混合 Angular/AngularJS 应用程序。主要的 AppModule 是使用 AppRoutingModule 的 Angular 模块,它使用给定的状态。像这样的东西:

应用模块:

imports: [AModule, BModule, AppRoutingModule, ...]

应用路由模块:

imports: [UIRouterUpgradeModule.forRoot(states: some_state)]

状态:

export const some_state: [
  {
    name: 'a',
    url: '/a'
    views: {
            main: {component: AComponent}
    }
  },
  {
    name: 'b',
    url: '/b'
    views: {
            main: {component: BComponent}
    }
  }
]

我想要做什么——假设我在一个 BComponent 中,我想导航到 AComponent。在纯角度组件中,我将使用 RouterModule 中的路由器(AppModule 中的 forRoot 和子模块中的 forChild)。类似 router.navigateToURL('...')

现在我正在使用 UIRouterUpgradeModule ,但我找不到如何去做。任何帮助都会非常感谢!

4

2 回答 2

0

在您的组件中,首先router在构造函数中声明,如下所示:

import { Component } from '@angular/core';
import { Router } from '@angular/router';

@Component({
  // ...
})
export class AppComponent {

  constructor(private router: Router) {}

  // ...
}

然后创建一个在需要更改路由时使用的函数,您可以将此函数绑定到任何事件,例如单击按钮以查看所需的更改:

changeRoute() {
  this.router.navigateByUrl('/b');
}
于 2020-10-18T10:47:34.920 回答
0

所以对我有用的是:从构造函数中的@uirouter/core 导入StateService,如下所示:

constructor(private stateService: StateService)

在我的方法中做了以下事情:

stateService.go('URL_TO_GO_TO');

这对我有用,我根据需要被重定向。

于 2020-10-19T19:20:08.563 回答