【问题标题】:Angular upgrade - How to navigate to a state defined in Angularjs from Angular template?Angular 升级 - 如何从 Angular 模板导航到 Angularjs 中定义的状态?
【发布时间】:2019-10-20 04:04:26
【问题描述】:

目前我正在将 Angularjs 1.6 应用程序升级到 Angular 7。作为此迁移的一部分,我必须从 Angular 模板导航到 Angularjs 中定义的状态。我怎样才能做到这一点?

我尝试过 angular-hybrid router 方法,但没有帮助。

这是Angularjs中recipes模块下定义的状态

$stateProvider.state('recipes', { url: '/recipes', component: 'recipes', onEnter: ['$state', 'authService', ($state, authService) => { if(!authService.isLoggedIn()){ $state.go('login') } }] })

我想使用 angular-hybrid-router 从 Angular 7 模板导航到上述状态,如下所示

  <a class="list-group-item"
     style="cursor: pointer;"
     ui-sref="recipes"
     *ngFor="let recipe of recipes; let i = index;">
    {{recipe.name}}
  </a>
</ul>

预期是导航到 /recipes 网址。但它没有,甚至没有抛出任何错误。

【问题讨论】:

  • 没有足够的信息来回答。您在 angular-js 示例中使用 ui-router,但我在第二个示例中没有看到路由逻辑,只是带有 ng-for 指令的锚标记。

标签: angularjs angular angular-upgrade


【解决方案1】:

我对角混合不熟悉;尽管粗略一瞥,注册状态的路由模块很可能没有导入链接到应用程序根模块的模块中。 uiSref 指令只能解析注册状态,如果您的 ui-sref 值为“无效”(阅读:未注册),IIRC ui-sref 不会出错。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-16
    • 2019-01-13
    • 2018-02-05
    • 2018-10-27
    • 2023-03-18
    • 1970-01-01
    • 2018-04-14
    相关资源
    最近更新 更多