巨大页面的角度架构

Angular architecture for huge page

本文关键字:巨大      更新时间:2024-04-25

我需要在AngularJS上创建一个巨大的页面。我在想哪种架构更适合这个页面?所以,页面有3个区块,有很多功能,但主要是:左边区块有账户,用户可以选择一些账户,这个账户应该显示在中间区块。可以更改中心块,结果应显示在右侧块上。对于html,我为每个块创建了3个视图,并将它们包含在ng-include中。此外,我想以某种方式将控制器划分为几个文件,因为我并没有在一个文件中处理很多代码。我看到了一些方法,如何做到这一点。1.为每个视图创建控制器,并通过广播传输数据,或者将数据保存在RootScope上并使用观察者。2.创建父控制器并由其传输数据。你对此怎么看?或者也许一个大控制器是最好的解决方案?通过控制器传输数据的最佳方式是什么?谢谢

有很多方法可以解决您的情况,我会告诉您我认为最好的是什么

首先,你创建了一个父抽象状态,在那里你可以做所有的脏活,枯萎它从服务器或其他地方获取数据,注入你需要在$scope中使用的所有数据,然后转到子状态"你的大页面所在"

类似的东西:

.state('parent_state', {
    url: '/home',
    abstract: true,
    templateUrl: 'whatever',
    controller: 'yourCtrl as yourCtrl'
  })
  .state("parent_state.child",{
    //Whatever you need here
  })

当您进入子状态时,您将在$scope中拥有所需的所有数据,因此您可以更多地关注逻辑,而不是包装数据

在我看来,一个页面应该只有一个控制器,如果为视图的每一部分都提供一个控制器是没有意义的,否则你需要使用自定义指令

因此,如果您有一个控制器来管理它们,或者一个控制器和多个指令。

您的呼叫