【问题标题】:Dynamic nested component views with UI Router带有 UI Router 的动态嵌套组件视图
【发布时间】:2016-04-12 09:49:24
【问题描述】:

我有一个已经使用 UI 路由器的 Angular 应用程序。它目前使用嵌套视图,就像大多数人使用点符号一样,即parent.childState

然而,现在很明显,这个应用程序的某些部分需要在其他地方重用,让我们称之为Module A 这个模块是标签的,目前每个标签都有一个相关的状态。目前,与大多数 UI Router 应用程序一样,路由是在应用程序配置阶段设置的。

有了这个新组件,我希望它注册自己的路由,并且这些路由是它们所在的任何父视图的子路由。

这可能吗?

【问题讨论】:

标签: angularjs angular-ui-router


【解决方案1】:

您可以执行以下操作:

在您的 Module A 中声明一个提供程序,该提供程序将能够注册您要在其中插入模块的应用程序的所有组件。其中一个参数显然是状态前缀。此提供程序将在内部调用 $stateProvider,无论是在您调用提供程序的函数时,还是在您实例化与提供程序匹配的服务时($get)。

如果你选择 $get 函数,你需要添加一个 angular.run() 来强制实例化 $get 产生的服务。否则 $get 将在稍后被调用,并且不会映射状态,从而导致 $stateNotFound。如果您希望能够在调用 $stateProvider 之前重载某些配置,这很有用,如果您不需要,请不要在 $get 函数中使用 $stateProvider。

所以现在你在其他模块中所要做的就是依赖于模块 A 并使用上述提供者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多