ui.路由器嵌套视图继承父窗体

ui.router nested view inherit parent form

本文关键字:窗体 继承 视图 路由器 嵌套 ui      更新时间:2023-09-26

是否可能有一个ui。路由器嵌套视图继承它的父窗体?我想组织我的表单有嵌套视图,同时利用angular的表单验证在父控制器。

我最初是在没有ui的情况下实现这一点的。通过使用带有require: ['^form']的指令(来处理特定的表单逻辑),但是控制器的视图变得太大/不可维护。ui就这样进入了。router的嵌套视图,但似乎我失去了将所有父窗体对象传递给ui的能力。路由器的嵌套视图,最终传递到我之前使用的指令(使用require['^form']的同一指令)。

有人遇到过这个问题吗?

$stateProvider
    .state('form', {
        abstract: true,
        url: '/form',
        controller: FormController,
        template: '<ui-view/>'
    })
    .state('form.child1', {
        url: '/child-one',
        controller: ChildOneController
    })
    .state('form.child2', {
        url: '/child-two',
        controller: ChildTwoController
    });

在这个例子中,父节点的作用域属性沿着状态链继承。因此,FormController的所有作用域属性都将在子窗体中可用,在本例中是childdonecontroller和ChildTwoController。

还要注意,通过resolve和Custom数据属性解析的依赖项将从父作用域继承。