巨大页面的角度架构

时间:2016-04-11 19:55:51

标签: javascript angularjs architecture controller

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

1 个答案:

答案 0 :(得分:0)

你的情况有很多方法,我会告诉你我认为最好的方法

首先,你创建一个父抽象状态,你可以在其中完成所有脏工作,无论是从服务器获取数据还是其他方式,注入你需要在$scope中使用的所有数据然后去孩子状态“你的大页面在哪里”

类似的东西:

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

当你进入孩子状态时,你将获得$scope所需的所有数据,这样你就可以更专注于逻辑而不是包装数据

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

因此,如果你有一个控制器来统治它们,或者一个控制器和多个指令。

你的电话